zoukankan      html  css  js  c++  java
  • 使用java实现圆形运动

     
    1
    package com.neuedu.test; 2 3 import java.awt.Graphics; 4 import java.awt.Image; 5 6 import com.neuedu.constant.Constant; 7 import com.neuedu.util.GameUtill; 8 import com.neuedu.util.MyFrame; 9 10 public class Round extends MyFrame { 11
     1 package com.neuedu.util;
     2 
     3 import java.awt.Color;
     4 import java.awt.Component;
     5 import java.awt.Frame;
     6 import java.awt.Graphics;
     7 import java.awt.Image;
     8 import java.awt.event.WindowAdapter;
     9 import java.awt.event.WindowEvent;
    10 
    11 import com.neuedu.constant.Constant;
    12 
    13 public abstract class MyFrame extends Frame {
    14     public void loadFrame () {
    15         
    16         setSize(Constant.GAME_WIDTH,Constant.GAME_HEIGHT);
    17         setLocationRelativeTo(null);
    18         setTitle("窗口");
    19         setResizable(false);
    20         setVisible(true);
    21         addWindowListener(new WindowAdapter() {
    22 
    23             @Override
    24             public void windowClosing(WindowEvent e) {
    25                 // TODO Auto-generated method stub
    26                 System.exit(0);
    27             }
    28             
    29         });
    30         new MyThread().start();
    31     }
    32         
    33     class MyThread extends Thread {
    34 
    35         @Override
    36         public void run() {
    37             while (true) {
    38             repaint();
    39             try {
    40                 Thread.sleep(60);
    41             } catch (InterruptedException e) {
    42                 // TODO Auto-generated catch block
    43                 e.printStackTrace();
    44             }
    45             }
    46         }
    47         
    48     }
    49     Image offScreenImage = null ;//创建双缓冲,因为repaint太快
    50     @Override
    51     public void update(Graphics g) {
    52     if(offScreenImage == null) {
    53     offScreenImage = this.createImage(Constant.GAME_WIDTH,Constant.GAME_HEIGHT);
    54     }
    55     Graphics gOffScreen = offScreenImage.getGraphics();
    56     Color c = gOffScreen.getColor();
    57     gOffScreen.setColor(Color.WHITE);
    58     gOffScreen.fillRect(0,0,Constant.GAME_WIDTH,Constant.GAME_HEIGHT);
    59     gOffScreen.setColor(c);
    60     paint(gOffScreen);
    61     g.drawImage(offScreenImage, 0, 0, null);
    62     }
    63 }
    12     /**
    13      * @param args
    14      */
    15     Image snow = GameUtill.getImage("com/neuedu/img/star.png");
    16     int y = 250;
    17     int x = 700;19     double degree = Math.PI/6;
    20     double speed= 0.1;
    21     @Override
    22     public void paint(Graphics g) {
    23         
    24         // TODO Auto-generated method stub
    25         g.drawImage(snow,x,y,50,50,null);
    26         x +=  25* Math.cos(degree);
    27         y +=  25* Math.sin(degree);
    28         degree += speed;
    29         
    30     }
    31     public static void main(String[] args) {
    32         // TODO Auto-generated method stub
    33         new Round().loadFrame();
    34     }
    35 
    36 }
     1 package com.neuedu.util;
     2 
     3 import java.awt.Image;
     4 import java.awt.image.BufferedImage;
     5 import java.io.IOException;
     6 import java.net.URL;
     7 
     8 import javax.imageio.ImageIO;
     9 
    10 public class GameUtill {
    11       public static Image getImage (String imgPath) {
    12         URL u = GameUtill.class.getClassLoader().getResource(imgPath);
    13           BufferedImage img = null;
    14           try {
    15             img = ImageIO.read(u);
    16         } catch (IOException e) {
    17             // TODO Auto-generated catch block
    18             e.printStackTrace();
    19         }
    20           return img;
    21           
    22       }
    23 }
  • 相关阅读:
    Java实现找出数组中重复次数最多的元素以及个数
    java经典小算法
    java将数组中的零放到末尾
    BP神经网络
    Centos配置Caffe详解
    JAVA面试题之实现字符串的倒序输出
    Android 发送短信与接收短信
    java 选择排序法
    java数组获取最值
    spring kafka consumer原理解析二
  • 原文地址:https://www.cnblogs.com/liuhuijie/p/9079197.html
Copyright © 2011-2022 走看看