离线下载
PDF版 ePub版

引路蜂 · 更新于 2018-11-28 11:00:43

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

这是本系列最后一篇,最后就是将整个程序组成起来。坦克大战游戏中有六个用户界面:

  • 音效设置
  • 开始界面
  • 选择关卡界面
  • 游戏主界面
  • 分数界面
  • 游戏结束界面

按照 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