zoukankan      html  css  js  c++  java
  • 80.游戏项目-物体的移动

     1 package test;
     2 import java.awt.Color;
     3 import java.awt.Font;
     4 import java.awt.Frame;
     5 import java.awt.Graphics;
     6 import java.awt.Image;
     7 import java.awt.event.WindowAdapter;
     8 import java.awt.event.WindowEvent;
     9 /**
    10  * 测试窗口沿着各种轨迹移动
    11  * @author Nicholas
    12  * 
    13  */
    14 public class GameFrame2 extends Frame {
    15     Image img = GameUtil.getImage("picture/test3.jpg");
    16 
    17     public void launchFrame(){
    18         setSize(500,500);
    19         setLocation(300,150);
    20         setVisible(true);
    21         
    22         new PaintThread().start();
    23         
    24         addWindowListener(new WindowAdapter(){
    25             public void windowClosing(WindowEvent e) {
    26                 System.exit(0);
    27             }
    28         });
    29     }
    30     
    31     private double x=100,y=100;
    32     private boolean left;
    33     private boolean up;
    34     
    35     public void paint(Graphics g) {
    36         g.drawImage(img, (int)x, (int)y, null);
    37     
    38         if(left){
    39             x-=3;
    40         }
    41         else {
    42             x+=3;
    43         }
    44         if(x>500-50){
    45             left=true;
    46         }
    47         if(x<0){
    48             left=false;
    49         }
    50         if(up){
    51             y-=5;
    52         }
    53         else {
    54             y+=5;
    55         }
    56         if(y>500-50){
    57             up=true;
    58         }
    59         if(y<20){
    60             up=false;
    61         }
    62     }
    63     
    64     class PaintThread extends Thread{
    65         public void run(){
    66             while(true){
    67                 repaint();
    68                 try {
    69                     Thread.sleep(10);
    70                 } catch (InterruptedException e) {
    71                     e.printStackTrace();
    72                 }
    73             }
    74         }
    75     }
    76     public static void main(String[] args) {
    77         GameFrame2 gf=new GameFrame2();
    78         gf.launchFrame();
    79     }    
    80 }

  • 相关阅读:
    day27_递归
    Linux常用命令
    Linux中的标准输入输出文件
    秋招日记《三》——字节三面挂
    《秋招日记》阿里一面
    秋招日记<->PDD一面挂
    十大排序
    第 254 场周赛 数组元素的最小非零乘积
    找不到boost/bind.hpp
    如何在Google浏览器中批量下载网页上的图片
  • 原文地址:https://www.cnblogs.com/shixinzei/p/8006871.html
Copyright © 2011-2022 走看看