国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

線程控制動畫

2019-11-17 05:59:20
字體:
來源:轉載
供稿:網友

 


線程是程序的一部分,是系統調度的基本單位。線程是控制動畫的理想選擇。將動畫的工作放在線程上,可以釋放出程序的其他部分來處理別的任務。
線程的現實是通過java.lang中的Thread類,要使某一個類能使用線程,必須實現Runnable接口,該接口包含了唯一一個方法run()。run()方法是線程類的核心,--------動畫程序中產生運動。通過調用線程的start ()方法,致使run()方法被調用。下邊這個程序描繪了一個運動中的圓。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Cartoon extends JApplet implements Runnable
{
Graphics screenBuffer = null;//創建圖形緩沖區
Image screenImage = null;
PRivate Thread runner;
private int x = 5;
private int move = 1;

public void init ( )
{
screenImage = createImage ( 230, 160 );
screenBuffer = screenImage.getGraphics ( );
}
public void start ( )
{
if (runner == null)
{
runner = new Thread( this );
runner.start();
}
}
public void run( )
{
Thread circle = Thread.currentThread ( );
while ( runner == circle )//指向同一對象,便開始運行
{
x += move;
if ( ( x > 105 ) ( x < 5 ))
move *= -1;
repaint ( );
}
}
public void drawCircle( Graphics gc )
{
Graphics2D g2D = ( Graphics2D ) gc;
g2D.setColor ( Color.blue );
g2D.fillRect ( 0, 0, 100, 100 );
g2D.setColor ( Color.yellow );
g2D.fillRect ( 100, 0, 100, 100 );
g2D.setColor ( Color.red );
g2D.fillOval ( x, 5, 90, 90 );
}
public void paint( Graphics g )
{
screenBuffer.setColor ( Color.white );
screenBuffer.fillRect (0,0,96,60);
drawCircle ( screenBuffer );
//將緩沖區的圖像復制到主緩沖區中
g.drawImage ( screenImage, 130, 100, this );
}
}




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 银川市| 衢州市| 长丰县| 荣成市| 阳谷县| 郎溪县| 全南县| 平凉市| 四川省| 临沂市| 大竹县| 安龙县| 威宁| 隆德县| 嘉义市| 庐江县| 启东市| 崇仁县| 塔河县| 延吉市| 富裕县| 岑溪市| 松溪县| 台湾省| 讷河市| 西平县| 留坝县| 和政县| 栾城县| 安化县| 蓝田县| 西乌| 缙云县| 博客| 江永县| 永泰县| 安阳县| 五华县| 岫岩| 隆昌县| 镇原县|