⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opening.java

📁 用java开发的一段小动画片 包含技术文档和用户手册
💻 JAVA
字号:
////////////////////////////////////////////////////////////////////////////////
//
// Opening.java
//
//    开发者:刘嘉祥
//
////////////////////////////////////////////////////////////////////////////////
//
// 功能:
//     实现开场动画的绘制。
//
////////////////////////////////////////////////////////////////////////////////

import java.awt.Graphics2D;
import java.awt.Color;
import java.awt.Polygon;


class Opening
{
    static void drawOpening(Graphics2D g2d,int a_frame)
    {
        if(a_frame<=400)
        {
        	  int i = (a_frame%20==0)? 20 : a_frame%20;
        	  
        	  Draw.drawLine(g2d,0,380,600,380);//地板
        	  if(a_frame==1)
        	      Animation.beginSound.play();
        	   
        	   //人走动
    	      if(i<=10)
    	      {
    	          Draw.drawLine(g2d,0+a_frame,320,0+a_frame,280);//身体
    	          Draw.fillCircle(g2d,0+a_frame,255,25,25);//头
    	          Draw.drawLine(g2d,0+a_frame,285,-20+2*i+a_frame,325+i/2);//后臂
    	          Draw.drawLine(g2d,0+a_frame,285,10-i+a_frame,305+i/4);//前大臂
    	          Draw.drawLine(g2d,10-i+a_frame,305+i/4,30-3*i+a_frame,320+i);//前小臂
    	          Draw.drawLine(g2d,0+a_frame,320,10-i+a_frame,350);//前大腿
    	          Draw.drawLine(g2d,10-i+a_frame,350,20-2*i+a_frame,380);//前小腿
    	          Draw.drawLine(g2d,0+a_frame,320,-5+i+a_frame,350);//后大腿
    	          Draw.drawLine(g2d,-5+i+a_frame,350,-20+a_frame,380-i);//后小腿
    	      }
    	      else
    	      {
    	          Draw.drawLine(g2d,0+a_frame,320,0+a_frame,280);//身体
    	          Draw.fillCircle(g2d,0+a_frame,255,25,25);//头
    	          Draw.drawLine(g2d,0+a_frame,285,0-2*(i-10)+a_frame,330-(i-10)/2);//后臂
    	          Draw.drawLine(g2d,0+a_frame,285,0+(i-10)+a_frame,307-(i-10)/4);//前大臂
    	          Draw.drawLine(g2d,0+(i-10)+a_frame,307-(i-10)/4,0+3*(i-10)+a_frame,330-(i-10));//前小臂
    	          Draw.drawLine(g2d,0+a_frame,320,0-(i-10)/2+a_frame,350);//前大脚
    	          Draw.drawLine(g2d,0-(i-10)/2+a_frame,350,0-2*(i-10)+a_frame,380);//前小腿
    	          Draw.drawLine(g2d,0+a_frame,320,5+(i-10)/2+a_frame,350);//后大腿
    	          Draw.drawLine(g2d,5+(i-10)/2+a_frame,350,-20+4*(i-10)+a_frame,370+(i-10));//后小腿
    	      }
    	      
    	      Subtitle.drawTitle_a(g2d,a_frame);
    	      if(a_frame==381)
    	          Animation.wangSound.play();
    	          
        }
        //砸倒
        else if(a_frame<=420)
        {
        	  int[] x1 = {370,405,440,430,450,410,390,390,345,380};
        	  int[] y1 = {225,240,210,255,290,270,310,280,270,260};
        	  int[] x2 = {340,390,485,470,505,430,385,370,285,340};
        	  int[] y2 = {155,205,160,235,330,315,380,295,310,245};
        	  Color c = g2d.getColor();
        	  
        	  if(a_frame<=410)
        	  {
        	  	  if(a_frame==401)
        	  	  {
        	  	  	  Animation.beginSound.stop();
        	  	  	  Animation.crashSound.play();
        	  	  }
        	  	  g2d.setColor(Color.red);
        	      g2d.fill(new Polygon(x1,y1,10));
        	      
        	  }
        	  else
        	  {
        	  	  g2d.setColor(Color.yellow);
        	  	  g2d.fill(new Polygon(x2,y2,10));
        	  	  g2d.setColor(Color.red);
        	  	  g2d.fill(new Polygon(x1,y1,10));
        	  }
        	  
        	  g2d.setColor(c);
        	  
        }
        //倒地
        else if(a_frame<=480)
        {
        	  int i = a_frame%10;
        	  
        	  if(a_frame<=440)
        	      Subtitle.drawTitle_b(g2d,(a_frame-420));
        	  else
        	      Subtitle.drawTitle_c(g2d);
        	      
        	  Draw.drawLine(g2d,0,380,600,380);//地板
        	  Draw.drawLine(g2d,360,380,370,340);
        	  Draw.drawLine(g2d,360,380,340,350);
        	  Draw.drawLine(g2d,340,350,320,380);
        	  Draw.drawLine(g2d,360,380,385,355);
        	  Draw.drawLine(g2d,385,355,400,380);
        	  Draw.drawLine(g2d,370,340,350,320);//左大腿
        	  Draw.drawLine(g2d,370,340,395,330);//右大腿
        	  
        	  if((i==6)||(i==8))
        	  {
        	      Animation.legSound.play();
        	      Draw.drawLine(g2d,350,320,360,300);//左小腿
        	      Draw.drawLine(g2d,395,330,380,305);//右小腿
        	  }
        	  else
        	  {
        	  	  Draw.drawLine(g2d,350,320,345,290);//左小腿
        	  	  Draw.drawLine(g2d,395,330,415,305);//右小腿
        	  }
        	  
        	  if(a_frame>440)
        	      Draw.cleanScreen(g2d,(a_frame-440));
        	      
        }
        
    }//方法drawOpening结束
    
}//类Opening结束

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -