基于Android平台的星际射击游戏的设计与实现(10)
资料介绍:
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接口。
[资料来源:www.doc163.com]
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;
[来源:http://www.doc163.com]
}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 运行与测试
在这个程序设计完成之后,为了验证整个程序是否能够正常的运行,是否能够实现预期的功能,而设计了一些测试。 [资料来源:Doc163.com]
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" />
[资料来源:http://doc163.com]
</manifest>
上面targetPackage指定的包要和应用的package相同。
第二步:编写单元测试代码,选择要测试的方法,右键点击“Run As”—“Android Junit Test”进行测试[11]。
6.2 测试的任务
设计测试方案是测试阶段的关键技术问题。所谓测试方案包括预定要测试的功能。应该输入的测试数据和预期的结果,目标是设计一组可能发现错误的数据。
主要的测试目标是在软件成功运行之前,能够尽早尽快的发现软件存在的错误,以便调试改正。
6.3 测试方案与过程
针对系统的模块化的设计,采取各个模块的独立测试和程序初运行的完整测试。
6.3.1 模块测试
在对背景音乐和音效的设置中,通过不断的点击设置按钮,不断的点击背景音乐和音效的开和关,以达到测试的目的。
在游戏的主界面中,通过反复多次的运行游戏,射击敌机,不断的碰撞道具,观察敌机的爆炸效果,和碰撞道具后,飞机本身一些特性是否发生改变,来测试游戏逻辑是否合理,触控是否流畅自如。