Java实训

您所在的位置:网站首页 飞机大战项目介绍怎么写 Java实训

Java实训

2023-09-17 15:20| 来源: 网络整理| 查看: 265

整体思路

1.在Andriod Studio中新建Java项目用来做我们的《飞机大战》项目; 2.通过MySurfaceView这个类作为主页面来完成整体布局结构的设计和制作; 3.新建一个类,用来设计战斗时的页面背景,通过draw方法和logic方法形成两张背景图循环播放的效果; 4.新建MyPlane类绘制玩家飞机; 5.新建EnemyPlane来绘制敌方BOSS飞机; 6.新建Bullet类来绘制子弹(敌我双方子弹); 7.新建Boom类绘制飞机爆炸效果; 8.新建GameSoundPool类来添加背景、子弹发射、击中目标等音效; 9.整体结构完成后,具体对各个方面做出完善和修改,如:子弹与飞机碰撞,飞机与敌机碰撞等 下面我们来详细分析一下《飞机大战》这个项目:

如何绘制循环滚动的背景图片

首先我们在BackGround中对背景图的坐标,位图进行定义;然后完成它们的构造方法,draw方法和logic方法,方便调用;关于背景图,我采用了两张同样的图片进行循环,对它们的位置进行判断,规定它们的移动速度使它们可以无缝衔合;最后在MySurfaceView中进行实例化调用。 附代码:(关于draw方法和logic方法的片段)

public void draw(Canvas canvas,Paint paint) { logic(); canvas.drawBitmap(bitmap, 0, y, paint); canvas.drawBitmap(bitmap, 0, y1, paint); } private void logic() { y += 10; y1 += 10; if (y >= MySurfaceView.height) { y = y1 - bitmap.getHeight(); } if (y1 >= MySurfaceView.height) { y1 = y - bitmap.getHeight(); } }

这是背景图的绘制思路,当然后期会完成对背景图的完善,通过切换背景图实现更换关卡的效果。

绘制玩家飞机

刚开始制作时,我为飞机定义了它的坐标,位图,宽度和高度等,并创建了它的构造方法,draw方法;在MySurfaceView中进行附参和实例化,并调用MyPlane的draw方法使飞机在背景图中显示出来。 完善:在几天的学习过程中,我们对玩家飞机进行了完善和修改。完善有如下几点: 1.我们给飞机添加了血量hp 2.我们设计onTouchEvent方法移动飞机,监听屏幕 ,实现手指移动飞机 3.为飞机做出被子弹击中后闪烁无敌效果 附代码:(关于touchEvent和isCollision方法的代码片段)

public void touchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE) { float ex = event.getX(); float ey = event.getY(); if (ex > x && ex < width + x && ey > y && ey < height + y) { x = (int) ex - width / 2


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3