简易动画制作

简介: 1 import java.awt.*; 2 import java.awt.event.*; 3 import java.applet.*; 4 public class ShowAnimation extends Applet implements Runnable{ 5...
 1 import java.awt.*;
 2 import java.awt.event.*;
 3 import java.applet.*;
 4 public  class ShowAnimation extends Applet implements Runnable{
 5     Thread duke;
 6     Image images[]=new Image[4], image;
 7     int index, delay;
 8     boolean flag;
 9     public void init(){
10        index=0;
11        duke=new Thread(this);
12        delay=Integer.parseInt(getParameter("delay"));//从HTML代码中<param>中获取延迟时间
13        for(int i=1; i<=4; ++i){
14            images[i-1]=getImage(getCodeBase(), "zjy" + i + ".jpg");
15        image=images[index];
16        String s=i+"zjy"+1;
17        System.out.println(s);
18        }
19        //还有注意:String s="zjy" + i + 1;//因为"zjy"+i得到的是一个字符串,然后第二个'+'号在这里变成了连接符,并不是算出i+1的整数值
20        //String s=i+1+"zjy";//这时候第一个'+'就是计算两个整数值相加的,然后第二个'+'是连接符
21        addMouseListener(new MouseAdapter(){
22           public void mousePressed(MouseEvent e){
23              if(duke==null)
24                 start();
25              else
26          stop();
27           }
28        });
29     }
30     public void start(){
31         flag=true;//表示动画开始播放
32         duke=new Thread(this);
33         //start方法把嵌入在线程中的虚拟CPU置为可运行状态,意味着它可以被调度运行,但并不意味着线程会立即运行
34         duke.start();
35         showStatus("Click to stop!");
36     }
37     public void stop(){
38         flag=false;
39         duke=null;
40         showStatus("Click to start!");
41     }
42     public void paint(Graphics g){
43        g.drawImage(image, 0, 0, 200, 300, this);
44     }
45 
46     public void run(){
47        while(flag){//flag为false后线程将完成运行并结束,将不能再运行!所以一个线程不能多次调用start()方法!
48           repaint();
49           try{
50            Thread.sleep(delay);
51          }catch(InterruptedException e){
52          
53           }
54           image=images[(++index)%4];
55        }
56     }
57 }

 

目录
相关文章
|
22天前
|
前端开发 JavaScript 开发者
【QML进阶 进度条设计】打造动态弧形进度条特效
【QML进阶 进度条设计】打造动态弧形进度条特效
79 1
|
4月前
|
前端开发
|
4月前
|
图形学 iOS开发
Unity——动效与缓动动画
Unity——动效与缓动动画
|
12月前
|
JavaScript
制作移动端整页滚动动画
制作移动端整页滚动动画
81 0
Unity-Timeline制作动画(快来制作属于你的动画吧)
Unity-Timeline制作动画(快来制作属于你的动画吧)
Unity-Timeline制作动画(快来制作属于你的动画吧)
|
JSON Android开发 数据格式
原生app开发技巧——底部导航栏动画效果按钮制作方法之采用photoshop制作gif动画-过渡动画关键帧
原生app开发技巧——底部导航栏动画效果按钮制作方法之采用photoshop制作gif动画-过渡动画关键帧
原生app开发技巧——底部导航栏动画效果按钮制作方法之采用photoshop制作gif动画-过渡动画关键帧
|
PHP 图形学
Unity Cinemachine & Timeline 制作镜头动画
Unity Cinemachine & Timeline 制作镜头动画
480 0
Unity Cinemachine & Timeline 制作镜头动画
|
物联网 API
ThingJS:仅需不到5行代码,实现炫酷3D动画
在物联网领域,Thing都有哪些动效呢?