练习36 异或模式制作的小动画.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习36 异或模式制作的小动画.doc

练习36 异或模式制作的小动画 本例知识点 一句话讲解 新学知识 Graphics类 设置图形显示模式 类Thread的应用 制作动画效果 已学知识 int类型 记录小球的运动坐标 使用函数fillOval() 制作小球 一、练习具体要求 本练习利用异或图形模式制作小动画。如图36-1所示,程序执行后,产生一个带有两个运动小球的主界面,其中一球静止,另一球从左向右靠近。当两球相遇时,产生遮挡效果,然后,运动的小球继续前行,运动到一定距离后按原路返回。 二、程序及注释 编程思路:本练习因为利用异或图形模式制作小动画,所以首先要设置该图形界面的显示方式,在画屏函数public void paint(Graphics g)中,通过语句g.setXORMode(getBackground())设置图形界面为异或图形模式,然后通过g.fillRect(40, 10, 40, 40)制作出一个矩形区域的小球,最后通过语句g.fillOval(ballX, 0, 30, 30)填充小球。然后,因为要控制小球的运动,就编写了函数private void moveBall()来管理小球的运动方向和返回点坐标。最后,为了实现动画效果,在启动小程序的函数public void start()中,通过语句animThread.start()来启动线程;在停止小程序的函数public void stop()中通过语句animThread.stop()来停止线程;在运行小程序的函数public void run()中通过语句Thread.currentThread().setPriority(Thread.NORM_PRIORITY)来运行线程。 (2)程序实现及注释:(内含练习25中的People类的定义) //BallAnim.java import java.awt.*; import java.applet.*; import java.lang.*; public class BallAnim extends Applet implements Runnable { Thread animThread; //小球的横坐标 int ballX = 0; //小球的运动方向,0为从左到右 int ballDirection = 0; //启动小程序 public void start() { if (animThread == null) { animThread = new Thread(this); animThread.start(); } } //停止小程序 public void stop() { animThread.stop(); animThread = null; } //运行小程序 public void run() { Thread.currentThread().setPriority(Thread.NORM_PRIORITY); while (true) { moveBall(); try { // 睡眠 0.1 秒 Thread.sleep(100); } catch (Exception sleepProblem) { } } } private void moveBall() { // 小球从左到右运动 if (ballDirection == 0) { ballX++; // 小球从右到左运动 if (ballX 100) { ballDirection = 1; ballX = 100; } } else { ballX--; if (ballX = 0) { ballDirection = 0; ballX = 0; } } repaint(); } //画屏函数 public void paint(Graphics g) { g.setXORMode(getBackground()); g.fillRect(40, 10, 40,

文档评论(0)

leiyb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档