Java小游戏

整体思路框架

首先绘制窗口,窗户绘制完成向窗口里面添加背景,在逐步向背景里面绘制图形,绘制玩障碍物之后,添加马里奥,马里奥绘制结束,添加敌人,逐步完成类的内容添加,之后添加积分与死亡,最后添加背景音乐

设计一个初始界面,在开始后出现马里奥。当马里奥踩死敌人,碰到金币,顶到砖块,都会进行加分。当马里奥碰到敌人就会死亡,当马里奥碰到旗子到达城堡后游戏结束;

1.背景类 2.马里奥类3.敌人类  (4.抽象类 5.数据类)

在设计类的时候可以注意到,马里奥和敌人它们都拥有几个相同的属性和方法。例如XY坐标,长度、宽度、速度,移动方法,绘制方法等。因此可以建立一个抽象的类作为父类,马里奥类和敌人类继承父类的属性和方法,并重写其中的抽象方法,为我们的代码编写提供方便。

一、编写入口类(初始化界面)

首先,建立一个入口类(MainFrame)继承JPanel.实例化一个窗体,并设置窗体的各种属性。

这时候,我们已经拥有了一个界面。其中,初始化的方法,其中包括了监听和线程两个内容。当然,可以将监听和线程分开来写成监听类和线程类。然后创建一个类,做主线程,在main方法里将该窗体类实例化,然后就实现了一个游戏窗体。

二、绘制图像

通过导入图片,对图片进行封装,来后进行使用图片;使用ImageIO.read来读取图片,使用graphics.drawImage来绘制图片将图片绘制到窗口上

三、背景类

根据思路,在初始化了界面之后我们需要一个背景类。即在界面中绘制背景图,通过图像坐标的改变,实现背景不断的移动,造成马里奥不断前进的状态景象。通关判断关卡数来判断背景图片,以达到更换背景的作用。

使用obstacleList.add向背景中添加障碍物逐渐形成关卡

四,抽象类

马里奥和敌人具有的几个共同的属性和方法为:

X和Y的坐标

图片的宽度和高度

绘画方法(根据需要重写)

移动方法

是否碰撞方法

获取图片的方法(抽象方法需要重写)

是否死亡和设置的方法

是否出界的方法

我们需要添加一个监听器类,进行关闭监听

监听器不光能关闭程序,人物的移动也需要键盘的监听触发事件来进行移动,使用 this.addKeyListener的方法进行触发判断。

通过监听来达到移动马里奥的效果public void keyTyped(KeyEvent e)

注意:移动是人物类移动,所以在人物类中这样添加

并且在人物类中创建一个判断方向移动的方法,

将X,Y轴的数值进行变更移动。

在将4个方向属性设置为布尔类型去判断,当我去按下俩个按键后触发斜走。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值