{$cfg_webname}
主页 > 计算机 > 论文 >

基于Android平台的星际射击游戏的设计与实现(8)

来源:56doc.com  资料编号:5D10234 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9A5D10234
资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用. 帮助
资料介绍

public void LogicView(){
        if(timer%pinglv == 0){
            switch(gongjili){
            case 0:
                bullet = new PlanePaodan(plane.planex+plane.planewidth/3,
                    plane.planey,power,1);
                bullets.add(bullet);
                break;
            case 1:
                bullet = new PlanePaodan(plane.planex+plane.planewidth/3,
                        plane.planey,power,1);
                bullets.add(bullet);
                bullet = new PlanePaodan(plane.planex+plane.planewidth/3,
                        plane.planey,power+1,0);
                bullets.add(bullet);
                bullet = new PlanePaodan(plane.planex+plane.planewidth/3,
                        plane.planey,power+2,2);
                bullets.add(bullet);
                break;
            case 2:break;
            }
        }
        if(ebullet!=null){
            Vector<EnemyPaodan> deletes = new Vector<EnemyPaodan>();
            for(EnemyPaodan eb:ebullets){
        if(eb.paodanx<0||eb.paodanx>windowsWidth||eb.paodany>windowsHeight){
                    deletes.add(eb);
                    eb = null;
                }
            }
            ebullets.removeAll(deletes);
        }       
        }
    }
在主界面中,飞机的爆炸效果如图5-4,Boss出现效果如图5-5,游戏结束场景如图5-6,子弹特效场景如图5-7和5-8。
 
图5-4 爆炸场景
 
图5-5 Boss出现场景
 
图5-6 游戏结束场景
 
图5-7 子弹特效场景(1)
 
图5-8 子弹特效场景(2)
5.2.3 游戏属性类
本游戏中属性类有很多,包括敌机、我机、敌机子弹、我机子弹、地图、爆炸、道具,boss等,它们都是实现MyViewIMP接口中InitView()、UpdataView(Canvas canvas,Paint paint)、MoveView()、LogicView(),RelaxView()方法来实现图片的加载,移动和逻辑处理。
(1) 敌机类(Enemy.Java):在敌机类中,需要有敌机的运动轨迹,所以需要定义enemyroad变量用来控制敌机是左移还是右移。再则,敌机有各种机型,并且每种机型对应的子弹也不相同,所以必须定义enemytype变量来控制敌机的机型变化。因为敌机有很多种,定义一个Bitmap的数组对象enemyBitmap[]也是必须的。在此类中,图片的位置和大小是要随时获取的数据,也要定义enemyx、enemyy、enemywidth,enemyheight。敌机的逻辑化处理和初始化处理都是在MyView中实现,有了这些变量,本类的具体实现方法如下:
public class Enemy implements MyViewIMP {
    public Enemy(int enemyx,int enemyy,int enemytype,int enemyroad){
        this.enemyx = enemyx;
        this.enemyy = enemyy;
        this.enemytype = enemytype;
        this.enemyroad = enemyroad;
        enemyBitmap = MyView.enemyBitmap;
    }
    public void MoveView() {
        switch(enemyroad){
        case ZUO:
            enemyx -= 2;
            break;
推荐资料