模拟技能动画
来源:互联网 发布:sugarhosts 知乎 编辑:程序博客网 时间:2024/05/16 06:43
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
public class Test extends JFrame {private static final long serialVersionUID = 1L;private MyPanel panel;public static void main(String[] args) {Test t = new Test();t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);t.setVisible(true);}public Test() {setTitle("Gyi-neng");panel = new MyPanel();getContentPane().add(panel);pack();}public class MyPanel extends JPanel implements MouseListener {private static final long serialVersionUID = 1L;public static final int WIDTH = 400;public static final int HEIGHT = 400;//private Image bkImage; //用于双缓冲的缓存图片private ArrayList<Gyineng> gn;public MyPanel() {this.setPreferredSize(new Dimension(WIDTH,HEIGHT));gn = new ArrayList<Gyineng>();this.addMouseListener(this);this.setBackground(Color.black);Thread t = new Thread(new PanelRepaint());t.start();}public void paintComponent(Graphics g) {super.paintComponent(g);for(Gyineng a:gn) {a.draw(g);}}/*public void update(Graphics g){if(null==bkImage) { bkImage=this.createImage(WIDTH,HEIGHT); }g.drawImage(bkImage,0,0,null); //把虚拟图片的内容画到当前窗口Graphics gBkImg=bkImage.getGraphics();gBkImg.clearRect(0,0,WIDTH,HEIGHT); //先清空图片this.paint(gBkImg); //将图像先画到虚拟图片上}*/private class PanelRepaint implements Runnable {public void run() {while(true) {Gyineng g = null;for(int i = 0; i < gn.size(); ++i) {g = gn.get(i);g.move();}repaint();try {Thread.sleep(50);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}public ArrayList<Gyineng> getGn() {return gn;}@Overridepublic void mouseClicked(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent arg0) {// TODO Auto-generated method stubgn.add(new Gyineng(this,arg0.getX(),arg0.getY()));repaint();}@Overridepublic void mouseReleased(MouseEvent arg0) {// TODO Auto-generated method stub}}public class Gyineng {private Image[] img;private int num;private int step;private int x;private int y;private int limit;private int speed;private int direct;private MyPanel panel;public Gyineng(MyPanel _p,int _x, int _y) {panel = _p;num = 9;x = _x;y = _y;limit = 500;//技能范围speed = 15;direct = (int) (Math.random() * 2);img = new Image[num];for(int i = 0; i < num; ++i) {String picName = "image/箭矢/"+String.valueOf(i+1)+".png";img[i] = new ImageIcon(picName).getImage();}step = 0;}public void draw(Graphics g) {g.drawImage(img[step],x,y,panel);++step;if(step == img.length)step = 0;}public void move() {if(direct == 0)x -= speed;elsex += speed;if(isOutOfLimit())panel.getGn().remove(this);}public boolean isOutOfLimit() {limit -= speed;if(limit < 0)return true;return false;}}}
- 模拟技能动画
- OC 控制器自定义转场动画技能树
- Android必备技能之属性动画
- 模拟动画图标
- SolidWorks 动画模拟仿真
- 模拟制作启动动画
- 泡沫动画模拟
- 下雪的动画模拟
- HTML5模拟齿轮动画
- HTML5模拟齿轮动画
- css3动画模拟光标
- 软件测试技能鉴定(模拟题)
- 蓝鸥杯C语言技能竞赛模拟题
- 【模拟试题】技能树 树形DP
- jQ模拟逐帧动画动画
- 批处理模拟开机动画(搞笑)
- ios动画模拟旋转加载
- JS模拟自由落体弹跳动画
- 数云-与师傅学习
- linux 下解压命令
- ARM映像文件
- 查看域名对应IP的命令
- 对cocos2d-x的初步理解
- 模拟技能动画
- 引用类型变量的强制转换
- 如何在Linux下获得一些中国电信运营商的IP地址分配情况
- 内存
- asp.net报出“非静态字段、方法或属性’System.Web.UI.Page.Response.get‘要求对象引用”错误
- tar.xz和lzma文件的解压方法
- 最大方差阈值分割(vc实现)
- 海量数据处理之倒排索引
- 使用gtags、etags、cscope、grep浏览源代码