SIKI_Unity_2_初级案例_贪吃蛇

SIKI_Unity_2_初级案例_贪吃蛇

任务5: 素材的导入与制作

确定游戏窗口分辨率并隐藏Build出来每次开始运行时跳出的UnityResolution窗口:
  PlayerSettings -> Resolution and Presentation中
  设置Default Screen Width/ Height
  DisplayResolutionDialog = Disabled

任务6:创建工程并搭建开始场景

Canvas的RenderMode选择ScreenSpace-Camera,并将主摄像机赋值
  此时在Scene中UI的框会和Camera的框重叠

一般而言,3D游戏的HUD如小地图之类的UI会用ScreenSpace-Overlay实现
  因为这个模式相当于把画布蒙在相机之前,会遮挡住游戏物体,保证UI在最上方
而2D游戏且使用UGUI主实现的时候,会选择ScreenSpace-Camera模式

任务10:贪吃蛇实现的思路

蛇头控制每一段蛇身
InvokeRepeat()调用前进方法

思路1:

每一段蛇身前进到前一段蛇身当前的位置

思路2:

增加一个蛇头,原来的蛇头变成第一节蛇身,其他不变

因为是双色贪吃蛇,因此只能使用思路1,使用思路2会导致颜色错乱

任务21:暂停游戏与返回菜单

点击暂停按钮后,按下空格,发现暂停按钮也会被onClick

原因是:UGUI的focus在暂停按钮上了,而Unity的Input中空格键有Submit的功能,所以按钮会被空格触发

解决方法:
  在ProjectSettings -> Input中取消Submit功能中空格键的绑定

任务22:蛇死亡的处理和得分的记录

记录得分的方法:

记录PlayerPrefs.SetInt("variableName", value); // 将value的值记录到变量中

PlayerPrefs.Save(); // 保存设置

PlayerPrefs.HasKey("variableName"); // 是否存在某值

读取PlayerPrefs.GetInt("variableName", defaultValue); // 如果该变量之前没有被记录过的话,则返回defaultValue

任务24:完成换肤与其他配置读取

Bug:
描述:游戏运行开始时,对皮肤选项Toggles的初始化,一直没能设置正确toggle.isOn
原因:初始化是在Awake()中实现的,这个时候设置是没有用的
解决方法:在Start()执行完全相同的逻辑,成功

 

 

 

 

原文地址:https://www.cnblogs.com/FudgeBear/p/11192222.html