4。5。2 选择关卡功能代码
进入到选择关卡时会调用ShowLeveSelect()方法,代码内容如下:
public void ShowLeveSelect() {
HideAllUI();
LevelSelect。SetActive(true);
btnHelp。gameObject。SetActive(true);
}
进入选择关卡是将选择界面和帮助按钮显示出来,在显示选择关卡界面和帮助按钮前会调用HideAllUI()方法将所有的UI界面隐藏,隐藏方法代码如下:
public void HideAllUI()
{
btnStart。gameObject。SetActive(false);
btnQuit。gameObject。SetActive(false);
btnHelp。gameObject。SetActive(false);
HpBar。gameObject。SetActive(false);
LevelSelect。SetActive(false);
Pluse。SetActive(false);
Score。gameObject。SetActive(false);
times。gameObject。SetActive(false);
helpPlane。SetActive(false);
}
方法功能就是将所有的UI界面隐藏,UI界面有开始按钮、退出游戏按钮、帮助按钮、玩家飞机生命值显示条、关卡选择界面、暂停按钮、分数显示界面、时间显示界面、帮助界面。
显示选择关卡界面后会执行关卡按钮生成方法,关卡难度是配置的json文件游戏直接读取相应的配置文件,对敌机的相应属性进行更变,从而调整各个关卡的难易度,显示当前关卡的代码如下:
for (int i = 0; i < 16; i++)
{文献综述
item = Instantiate(item,viewContent);
item。transform。GetChild(0)。GetComponent<Text>()。text = (i + 1)。ToString();
item。gameObject。SetActive(true);
}
在生成完关卡选择按钮后调用自动排列组件的排列方法,将按钮排列整齐。在生成关卡按钮时将对应的关卡信息放入到按钮上的脚本中,在按钮生成时就会把按钮的点击方法添加到监听事件中,按钮方法如下:
public void OnClick() {
int i = int。Parse( text。text);
GameManager。instance。StartGame(i);
}
点击关卡选择按钮后就执行点击方法,先将按钮脚本类中保存的关卡信息进行处理,然后再调用游戏管理类中的开始方法,开始方法代码如下:
public void StartGame(int i)
{
GameOverCtrl。instance。Hide();
isStart = true;
level = i;
Score = 0;
OnLevelTime = Time。time;
Time。timeScale = 1;
Spawn。single。gameObject。SetActive(true);
GameUI。single。IntoLevel();
GameObject temp = Resources。Load<GameObject>("Prefab/hero");
Instantiate(temp, new Vector3(0,-3。6f,3。52f), Quaternion。identity);
}
开始游戏方法是将游戏结束界面隐藏,再将游戏当前是否开始属性设定为True,记录下当然的关卡等级,重置玩家获得分数,记录关卡开始时间,然后将游戏系统时间速度缩放设定为正常速度,开始敌机生成方法,将界面调整为进入关卡后的状态,加载玩家飞机对象,并重新设定玩家飞机的位置。