基于Android平台的星际射击游戏的设计与实现(4)
资料介绍:
4.2.2 游戏开始画面系统
进入游戏时,显示如下菜单项:
(1) 进入游戏——当用户选择进入游戏时,正式进入游戏运行。
(2) 设置——当用户选择设置时,显示对话框,背景音乐:ON/OFF,音效:ON/OFF。
4.2.3 游戏操作介绍
本游戏主要采用触控来实现飞机的上下左右移动的,屏幕的上下左右分别作为控制飞机方向的上下左右。
4.2.4 游戏内容系统
本游戏飞机拥有一次生命,被敌机击中后会减少相应的HP值,HP值为0时即Game Over。敌机有不同的角色,每种角色的攻击力不一样,打中一些特别的敌机会爆装备,飞机可以通过碰撞道具来拾取装备,拾取装备后,飞机会改变射击形态,射击角度和射击强度,这些状况根据拾取的装备的不同而作出改变。玩家在击毁敌机的同时也要注意躲避敌机与子弹,将终极boss打败后即为游戏胜利。
4.2.5 线程控制和游戏暂停系统
游戏中可以随时呼出主页面,可以设置音效和背景音乐,然后继续回到刚才游戏中,或者退出游戏。
4.2.6 计时系统
道具出现的几率:
加防道具 20%
[资料来源:http://Doc163.com]
加血道具 50%
加攻击力 30%
5 游戏的详细设计及实现
游戏开发需求分析过后进入最重要的设计与实现阶段,根据需求分析确定手机游戏应该具有的功能和性能要求。本章主要介绍了该游戏的界面设计与实现,功能的详细设计与实现,以及屏幕响应和游戏声效的设计与实现。
5.1 界面的设计与实现
本游戏设计简单方便操作,共有三个界面:菜单选择界面、设置界面、游戏界面。本游戏因受手机屏幕大小限制,为了增加该游戏的易操作性,本游戏的所有界面都采用横屏显示。横屏主要的实现代码段如下:
Android:screenOrientation="landscape" <!--设置界面的方向为横向-->
Android:configChanges="orientation|keyboardHidden" <!--设置界面的方向不随手机的方向和键盘的改变而改变-->
在activity主函数中还需要对配置文件进行配置判断,实现的主要代码段如下:
[资料来源:https://www.doc163.com]
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
try {
super.onConfigurationChanged(newConfig);
if(this.getResources().getConfiguration().orientation
==Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
} catch (Exception ex) {
}
}
5.1.1 菜单选择界面
本界面位于主程序中,通过xml文件配置和定义好菜单选择界面的中包含的控件,主要控件有设置和进入游戏按钮,welcome.xml布局文件的主要代码段如下:
[资料来源:http://doc163.com]
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="@drawable/homebg">
<RelativeLayout
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<LinearLayout
Android:orientation="vertical"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerInParent="true" <!--按钮位于界面的中心位置-->
>
<Button <!--设置按钮,监听动作进入设置界面-->
[资料来源:Doc163.com]
Android:background="@drawable/button1"
Android:text="设置"
Android:layout_width="90dip"
Android:layout_height="42dip"
Android:id="@+id/btn1"
/>
<Button <!--开始按钮,监听动作进入游戏界面-->
Android:background="@drawable/button1"
Android:text="开始"
Android:layout_width="90dip"
Android:layout_height="42dip"
Android:id="@+id/btn2"