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

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

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

            return   false;
        }
        return   true;
    }
}
5.2.5 接口类
本游戏的主要接口类为MyViewIMP.Java,各个属性类和主界面类MyView都是实现该接口来达到图片绘制,移动和逻辑处理的目的,实现的方法如下:
public interface MyViewIMP {
    //初始化view,进行资源载入
    public void InitView();
    //更新view
    public void UpdataView(Canvas canvas,Paint paint);
    //view移动
    public void MoveView();   
    //view的逻辑处理
    public void LogicView();
    //view 的资源回收
public void RelaxView();
}
5.3 屏幕响应的实现
屏幕响应主要靠实现OnTouchListener接口,OnTouchListener接口是用来处理手机屏幕事件的监听接口,当为View的范围内触摸按下,抬起或滑动等动作时都会触发该事件,本游戏在MainActivity类中实现OnTouchListener接口。
public boolean onTouch(View v, MotionEvent event) {
        float touchx = event.getX();
        float touchy = event.getY();   
        if(!myview.isRun &&touchx<64&&touchy<64){
            handler.sendEmptyMessage(1);
        }   
        if(event.getAction() == MotionEvent.ACTION_DOWN){
            if(touchx > windowsWidth/3 && touchx < (windowsWidth/3)*2 && touchy <= windowsHeight/3){
                myview.plane.moveflg = 0;
            }else if(touchx >= (windowsWidth/3)*2){
                myview.plane.moveflg = 1;
            }else if(touchx > windowsWidth/3 && touchx < (windowsWidth/3)*2 && touchy >= (windowsHeight/3)*2){
                myview.plane.moveflg = 2;
            }else if(touchx <= windowsWidth/3){
                myview.plane.moveflg = 3;
            }
        }   
        if(event.getAction() == MotionEvent.ACTION_UP){
            myview.plane.moveflg = -1;
        }
        return true;
    }
6 运行与测试
在这个程序设计完成之后,为了验证整个程序是否能够正常的运行,是否能够实现预期的功能,而设计了一些测试。
6.1 Android应用开发的测试技术
第一步:首先在AndroidManifest.xml中加入下面代码:
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="cn.itcast.action“ android:versionCode="1"android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
            <uses-library android:name="android.test.runner" />
        ....
   </application>
      <uses-sdk android:minSdkVersion="6" />
    <instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="需要测试的类所在的包的名" android:label="Tests for My App" />
</manifest>
上面targetPackage指定的包要和应用的package相同。
第二步:编写单元测试代码,选择要测试的方法,右键点击“Run As”—“Android Junit Test”进行测试[11]。
6.2 测试的任务
设计测试方案是测试阶段的关键技术问题。所谓测试方案包括预定要测试的功能。应该输入的测试数据和预期的结果,目标是设计一组可能发现错误的数据。
主要的测试目标是在软件成功运行之前,能够尽早尽快的发现软件存在的错误,以便调试改正。
6.3 测试方案与过程
针对系统的模块化的设计,采取各个模块的独立测试和程序初运行的完整测试。
6.3.1 模块测试
在对背景音乐和音效的设置中,通过不断的点击设置按钮,不断的点击背景音乐和音效的开和关,以达到测试的目的。
在游戏的主界面中,通过反复多次的运行游戏,射击敌机,不断的碰撞道具,观察敌机的爆炸效果,和碰撞道具后,飞机本身一些特性是否发生改变,来测试游戏逻辑是否合理,触控是否流畅自如。
推荐资料