我是一名Java初学者
这是我写的第一个小游戏,特此纪念下
--------------------------------------------------------
效果图:
-------------------------------------------------------------------------------------------------------
package BirdGame;
/**
* 1.找对象定义属性
* 2.为4个类 BirdGame,Ground,Colunm,Bird分别添加构造方法,初始化属性变量
* 3.设置窗口框架:编写BirdGame类中的main方法,设置窗口大小,居中,设置关闭按钮,和设置窗口可见
* 4.绘制界面:在BirdGame类中重写print()方法
* 5.写类的运动方法step();在birdgame类中写action方法,在main方法中启用action方法
* 6.实现鼠标事件控制小鸟能点击上升
* 7.实现记分,画分
* 8.写鸟类的碰撞方法检测(鸟碰地面和鸟碰撞柱子)显示游戏结束
* 9.实现游戏状态:开始,结束,重新开始
*/
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;//java.awt 包含用于创建用户界面和绘制图形图像的所有类。
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;//BirdGame 继承 Jpanel 屏面
public class BirdGame extends JPanel {
Bird bird;
Ground ground;
Column column1,column2;//有上下两根柱子
BufferedImage background;
int score;//记分
/**游戏状态*/
// boolean gameOver;
int state;
public static final int START = 0;
public static final int RUNNING = 1;
public static final int GAME_OVER=2;
BufferedImage startImage;
BufferedImage gameOverImage;
/**为该类添加构造方法,初始化属性变量*/
public BirdGame() throws Exception{
state =START;
// gameOver=false;
startImage = ImageIO.read(getClass().getResource("start.png"));
gameOverImage=ImageIO.read(getClass().getResource("gameover.png"));
score=0;
bird = new Bird();
ground = new Ground();
column1 = new Column(1);
column2 = new Column(2);
background = ImageIO.read(getClass().getResource("bg.png"));
}
/**重写print()方法用于为对象类贴图上去*/