zoukankan      html  css  js  c++  java
  • JAVA——桌球游戏(动画)

    跟着视频敲得 ,虽然不是自己的思路 ,不过对代码多了一点了解:涉及到继承类

    主函数:创建一个BallGame对象,调用一个launchFrame函数 ;

    launchFrame函数:严格来说是方法 ,设定好一个窗口的信息,在窗口内开始画动画,只不过每次需要控制小球的位置(注意延时)

    paint函数:导入素材,改变小球位置

    首先需要在当前项目下new 一个Folder文件夹 ,将素材直接复制进去,然后在src文件夹下new一个class文件

    桌球:

    桌面:

    package pro02;
    import java.awt.*;
    import javax.swing.*;
    //导入两个包 后面要用他们的类
    
    //继承swing的窗口类
    public class BallGame extends JFrame{
    	//两个对象代表两个图片
    	Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png");
    	Image desk=Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
    	double x=100;
    	double y=100;
    	double degree=3.14/3;//60度 弧度
    	//为了图片出现在窗口上,加一个方法
    	public void paint(Graphics g){
    		System.out.println("窗口被画了一次!");
    		//先画桌面再画球
    		g.drawImage(desk, 0, 0, null);
    		g.drawImage(ball,(int)x,(int)y,null);
    		//可能出现懒加载情况
    		x=x+10*Math.cos(degree);//1/2
    		y=y+10*Math.sin(degree);//sqrt(3)/2
    		
    		if(y>=500-40-30||y<=40) {
    			degree=-degree;
    		}
    		if(x>=856-40-30||x<=40) {
    			degree=3.14-degree;
    		}
    	}
    	
    	//窗口加载
    	void launchFrame(){
    		setSize(856,500);//窗口大小
    		setLocation(50,50);//窗口左上角位置
    		setVisible(true); //看得见的
    	/*在窗口内重复画*/	
    		while(true) {
    			repaint();
    			//意外处理机制
    			try {
    				Thread.sleep(40);
    			}catch(Exception e) {//例外
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	//main方法是程序执行的入口
    	public static void main(String[] args) {
    		//创建一个对象game
    		BallGame game=new BallGame();
    		game.launchFrame();
    		//System.out.println("你好 !java");
    	}
    }
    
  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/HappyKnockOnCode/p/12607057.html
Copyright © 2011-2022 走看看