.程序集 窗口程序集1
.程序集变量 炮标识值, 整数型
.程序集变量 发射次数, 整数型
.程序集变量 打中次数, 整数型
.参数 碰撞物体标识值, 整数型
.参数 横坐标, 整数型
.参数 纵坐标, 整数型
.参数 被碰撞物体标识值, 整数型
动画框1.创建物体 (爆炸, 动画框1.取物体左边 (被碰撞物体标识值), 动画框1.取物体顶边 (被碰撞物体标识值), , )
动画框1.销毁物体 (碰撞物体标识值, 被碰撞物体标识值)
创建飞机 ()
打中次数 = 打中次数 + 1
.子程序 _动画框1_监视昌此唤键被按下
.参数 键代码, 整数型
.参数 功能键状耐凯态, 整数型
动画框1.自动前进 (动画框1.创建物体 (炮d, 动画框1.取物体左边 (炮标识值) + 炮.取内容宽度 () ÷ 2, 动画框1.取物体顶边 (炮标识值) - 炮d.取内容高度 (), , ), 10, 20, , , 真, , 真, , )
发射次数 = 发射次数 + 1
透明标签1.标题 = “你发射了扒简” + 到文本 (发射次数) + “发炮d,已经打中 ” + 到文本 (打中次数) + “只飞机”
一个腊盯简单的范例,不明白追问吧import java.awt.Color
import java.awt.Graphics
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.*
public class MoveAnimationDemo extends JFrame {
public MoveAnimationDemo() {
this.setContentPane(new AnimationPanel())
this.setSize(500, 500)
this.setDefaultCloseOperation(EXIT_ON_CLOSE)
}
/**
* 开备升始动画
*/
public void startAnimation() {
// 设定初始条件
x = START_X
y = START_Y
// 创建计时器
timer = new Timer(DELAY_TIME, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 每一次延迟过后,调用一次
x += 1
y += 1
repaint()
// 满足结束条件就停止
if (x >= END_X || y >= END_Y) {
timer.stop()
}
}
})
// 开启计时器
timer.start()
}
public static void main(String[] args) {
MoveAnimationDemo demo = new MoveAnimationDemo()
demo.setVisible(true)
demo.startAnimation()
}
private class AnimationPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g)
g.setColor(CIRCLE_COLOR)
g.fillOval(x, y, CIRCLE_SIZE, CIRCLE_SIZE)
}
}
// 圆点颜色
private static final Color CIRCLE_COLOR = Color.RED
// 圆点大小
private static final int CIRCLE_SIZE = 10
// 起始位置
private static final int START_X = 50
private static final int START_Y = 50
// 终止位置
private static final int END_X= 400
private static final int END_Y= 400
// 动画帧之间的仿局老延时,每秒60帧
private static final int DELAY_TIME = 1000 / 60
// 当前位置
private intx
private inty
private Timer timer
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)