在上一篇文章提到对话系统的管理,今天我们要来说明主画面设定及场景资料转换。
需要注意的是,介面的素材图需要将背景及按钮分别输出喔!
目录
素材图
介面设置
场景转换
开始画面-背景 | 关卡介面-背景 | |
---|---|---|
开始画面-按钮 | 关卡介面-按钮 | |
在Scene中使用Canvas加入主画面介面,并将开始按钮放上正确位置
另外开一个新场景,并将关卡介面图放入Scene中
将所有关卡按钮放置正确的位置,按钮名称依照关卡顺序取名
将所有需要切换的场景在File>Build Settings>Scenes In Build中加入
新增SceneManager()来管理所有场景,在SceneTrans()中使用string传关卡名称
public void SceneSwitch(string _SceneName)
{
SceneManager.LoadScene(_SceneName);
}
在Scene按钮中,加上场景切换功能
我们的关卡希望可以完成一关,才可以解锁下一关,因此需要设立一个变数来判断关卡是否解锁。
在LevelSelection()中加入bool,来判断关卡目前状态
private bool unlocked; //预设为fasle
在PressSelection()中:
public void PressSelection(string _LevelName)
{
if (unlocked)
{
SceneManager.LoadScene(_LevelName);
}
}
在Scene中,为每个按钮都加上场景切换功能
在每个游戏关卡中加入SingleLevel()中,使用PlayerPrefs储存关卡数值
public levelIndex;
public Score;
public void PressedFinished()
{
PlayerPrefs.SetInt("Lv" + levelIndex, Score);
}
在LevelSelectioon()中读取PlayerPrefs数值,更新关卡状态
private void UpdateLevelStatus()
{
int previousLevelNum = int.Parse(gameObject.name) -1;
if(PlayerPrefs.GetInt("Lv" + PreviousLevelNum) > 0) //上一个关卡分数是否大於0
{
unlocked = true;
}
}
并在Update()中加入
UpdateLevelStatus()
如此一来便完成介面及场景切换功能喽!下一篇将会为各位介绍我们所用到的专案管理工具,明天见!
Web API 测试可以是後端工程师使用测试框架撰写白箱测试,也可以是 QA 使用测试工具进行黑箱测...
3-10 晨晓之始 半夜4:30天还未亮,茉姨便拿着提灯到两人房间叫醒二人,飞哥与小博匆匆起床洗漱後...
LINE Developers:https://developers.line.biz/zh-ha...
本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtu...
开始动工啦~ 今天电脑不在手边,这篇会先在CodeSandBox实作 所以介面会长的跟上一篇的Web...