最终效果
来吧 展示!
需求分析
发现对象
人物-小丑( 友方 跟 敌方 )
子弹-帽子 Missile
墙体 Wall
爆炸物 Explode
发现属性
小丑:宽 高 , 位置( x , y ), 移动速度
帽子:宽 高 , 位置( x , y ), 移动速度
墙体:宽 高 , 位置( x , y )
爆炸物:宽 高 , 位置( x , y )
发现行为
小丑:
移动
攻击
人物撞边界
子弹:
移动
子弹撞墙
子弹撞边界
爆炸物:
爆炸物消失
难点
- 窗体如何创建
- 背景图片加载
- 如何将图片加载到窗体里
- 人物-小丑加载
- 发射物-帽子加载
- 爆炸物加载
- 子弹如何发射?? 按键盘/键盘
设置窗口大小
public static void main(String[] args) {
GameClient1 gameClient1 = new GameClient1();
// 开始游戏
gameClient1.start();
}
public void start(){
System.out.println("游戏开始了!");
// TODO 游戏业务
// 设置窗体
// 标题
this.setTitle("原谅帽");
// 大小
this.setBounds(0,0,1000,700);
//显示窗体
this.setVisible(true);
}
设置窗口为宽1000,高700。
图片加载
public class GameClient1 extends Frame {
// 设置常量 背景图片路径
public static final String BG_PATH1 = "images/bg.png";
// 定义一个图片类型的静态变量
private static Image image;
// static修饰过的所有资源都执行一次
static{
image= CommonUtils1.getImage(BG_PATH1);
}
@Override
public void paint(Graphics g) {
//画背景
g.drawImage(image,0,0,1000,700,this);
}
}
通过重写paint方法来实现画出背景图。
游戏实现
1.人物设计
- 人物移动
设计人物移动的方向