使用Java实现人物跑动和放烟花的动画
最近用Java弄了一个动画,然后打算分享一下。在曝代码之前,首先声明该程序的图片资源中的“英雄”是从网上搜索来的,其他图片是从我的桌面壁纸上截图下来的。所以亲们做好被雷到的准备。。。。
首先,有图有真相。
ps:本来想上传一个GIF的结果失败了
ps:没错,是难看了一点不过关键的是代码。。。。
好了,
废话不多说直接上代码:
程序开始的地方,只实例化了一个JFrame的继承类,然后设置为显示状态。
package com.baohanbin.herodemo;
/**
* 主程序
* @author 包汉彬
*
*/
public class Main {
public static void main(String s[]) {
// 建立一个窗口
MyJFrame frame = new MyJFrame();
// 将窗口设置为可见
frame.setVisible(true);
}
}
然后是继承于
JFrame的MyJFrame类,作用只为了可以显示画布。
需要注意的是在MyJFrame里嵌套了一个线程,该线程会在窗口显示的时候启动,然后定时调用画布的更新方法。当窗口关闭的时候会自动终止。
package com.baohanbin.herodemo;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/**
* 自定义的窗体继承于JFrame
*
* @author 包汉彬
*
*/
public class MyJFrame extends JFrame {
// 负责绘制的画布
private Canvas canvas;
// 刷新线程
private Drawing drawing;
public MyJFrame() {
/*
* 初始化窗口
*/
setTitle("HeroDemo");
this.setSize(753, 500);
this.setLocation(300, 300);
// 设定窗口为不可变
setResizable(false);
// 关闭窗口时的动作
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*
* 添加打开窗口的监听
*/
addWindowListener(new WindowAdapter() {
public void windo