zoukankan      html  css  js  c++  java
  • 简易动画制作

     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 }
  • 相关阅读:
    软件工程实验二
    软件工程实验一
    软件工程作业--ATM自助银行服务系统
    软件工程作业—举例分析流程图与活动图的区别与联系
    第一个随笔
    机器学习 实验四 决策树算法及应用
    机器学习实验三 朴素贝叶斯算法及应用
    机器学习 实验二 K-近邻算法及应用
    飞机订票系统(文档)
    机器学习 实验一 感知器及其应用
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/3794329.html
Copyright © 2011-2022 走看看