(飞机大战)改装版桃花人脉小游戏安卓系统开发:【伍子胥:l47-l8lO-5ll3可微】
前言:最近闲来无事,而且也是因为刚接触安卓不久,所以萌生了以后在开发web项目的过程中同样开发安卓手游,因前一段时间项目需要独立完成了一款功能型手机app,该App比较简单,全是按钮操作,也就是Activity之间的相互传值与过渡,所以对安卓的基本知识有了一定了解,在我的印象当中,感觉安卓手游是比较困难的,但是有困难就要克服,所以有了开发游戏的念头。
在安卓游戏开发源码(三)中,已经把控制的飞机显示出来,结果如下:
桃花人脉
桃花人脉
接下来,就要把敌人的战机也开发出来,并可以向下发射子弹。
在上一次的代码中,找到MainActivity.java文件,在其属性中添加:一个新的属性:
//敌机的图片
private List
在initView()方法中,添加一个新的方法,用来初始化敌机
//初始化敌机
initEnemyPlane();
然后把这个方法声明出来:
private void initEnemyPlane(){
//生成敌机数量,这里在Util中新增了一个方法
int enemyCount=CommonUtil.getEnemyPlaneCount();
enemyPlanes=new ArrayList
for(int i=0;i ImageButton enemyPlaneImg=new ImageButton(context); enemyPlaneImg.setBackgroundResource(R.drawable.enemyplane); //敌机的横坐标也是随机的 int x=new Random().nextInt(windowWidth); enemyPlaneImg.setX(x); enemyPlaneImg.setY(0); this.addContentView(enemyPlaneImg,new LayoutParams( LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); enemyPlanes.add(enemyPlaneImg); } } 在commonUtil.java中增加新的属性和方法,用来随机得到敌机数量 public static final int getEnemyPlaneCount(){ Random random=new Random(); //随机出现战机的数量 int enemyPlaneCount=random.nextInt(CommonUtil.MAX_ENEMY_PLANE); //如果随机的数量是0,则一直循环,直到非0 while(enemyPlaneCount==0){ enemyPlaneCount=random.nextInt(CommonUtil.MAX_ENEMY_PLANE); } return enemyPlaneCount; } 至此,在页面展示出来之后,敌机也一些展示了出来。接下来我们要做的便是使敌机发射子弹。 在MainActivity.java中找到initBean方法,在方法中添加:如下代码,作用就是把敌机的图片set到surfaceView界面中 //所有敌机 surfaceView.setEnemyPlanes(enemyPlanes); surfaceView.setWindowHeight(windowHeight); surfaceView.setWindowWidth(windowWidth); 打开MySurfaceView.java类,在其中添加属性:为其增加get set方法 //敌机的图片 private List public List return enemyPlanes; } public void setEnemyPlanes(List this.enemyPlanes=enemyPlanes; }



