Android坦克大战游戏设计解析八

jerry Android 2015年08月24日 收藏

这是本系列最后一篇,最后就是将整个程序组成起来。坦克大战游戏中有六个用户界面:
音效设置
开始界面
选择关卡界面
游戏主界面
分数界面
游戏结束界面
按照Android程序一般设计方法,一般一个界面对应一个Activity。这样就需要设计6个Activity子类对实现各个界面。
在移植的过程,这里采用了一个简单的方法,采用一个Activity对就于 Java ME中的Midlet。
主Activity采用FrameLayout

<?xml version=”1.0″ encoding=”utf-8″?>
<FrameLayout xmlns:android=”http://schemas.android.com/apk/res/android”
    android:id=”@+id/mainwindow”
    android:layout_width=”fill_parent”
    android:layout_height=”fill_parent”
    >
</FrameLayout>
FrameLayout 可以将它其中的其它View象扑克牌一样叠放在一起,这样将六个界面都放在主Activity的FrameLayout中,开始将它们都设置为不可见,需要显示某个界面时,设为可见并放在最前面,也就实现了多个用户界面。

public static void setCurrentScreen(View newScreen){
 currentScreen.setVisibility(View.INVISIBLE);
 currentScreen=newScreen;
 currentScreen.setVisibility(View.VISIBLE);
 theDisplay.bringChildToFront(currentScreen);
}

就是用于屏幕切换。
另外,有于程序主要移植于JavaME,并且主要目的是为了了解Android 平台,和 JavaME版相比不够完善,但基本功能是实现了,如有兴趣的可以进一步完善。

代码下载 Android版坦克大战    http://www.imobilebbs.com/download/android/battlecity/AndroidBattleCity.zip

                  Java ME版坦克大战 http://www.imobilebbs.com/download/android/battlecity/BattleCityJavaME.zip