- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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,
您可能关注的文档
最近下载
- 第十七章外阴色素减退性疾病.ppt VIP
- 考研真题 三峡大学水利与环境学院820数据库原理与应用历年考研真题汇编.docx VIP
- 中石化油品储运鉴定试题库——初 级 工.pdf VIP
- 探测器安装工程检验批质量验收记录表.docx VIP
- 2025上海松江区工作者招聘76人考试备考题库及答案解析.docx VIP
- 中国全面发育迟缓诊断指南2024解读PPT课件.pptx VIP
- 2020年国考公务员考试《行测》真题及答案(地市级).pdf VIP
- 试算法计算调洪演算程序.xls VIP
- 小学英语教学中分层次教学的实践探讨教学研究课题报告.docx
- 智能化弱电系统培训资料,大量系统图与实例图.pdf VIP
文档评论(0)