相当于开始界面,想怎么创建就怎么创建
我最终模拟的效果
这部分不关键,关键的是创建可用来装载脚本的button
这部分感兴趣的可以去看我博客的GUI部分,但建议大家把学GUI的时间拿来学UGUI
导入预设体
Root
创建一格Label组件作为标题
这部分也可以自己创建
同时创建四个按钮,
每个按钮都可以自行设置,
最终实现的效果
使用单例模式
提供两个方法,给所有子类(面板类)使用
这个基类的最大作用,就是可以直接传类名给单利模式,而不需要在unity通过名字寻找到脚本的API进行面板的操作
直接.instance就可以进行操作
1)首先创建公共的成员变量 来关联各个组件
2) 监听按钮点击后做什么
先进行测试场景切换有无作用
在build中先把GameScene场景添加上
此时点击 开始游戏,应该会切换场景
声明成员变量关联组件
因为暂时没有音效文件
所以监听事件先写在这儿,后面再改
关闭面板
因为现在一进游戏面板就显示,需要修改逻辑
在start 函数中,所有监听事件下面增加HideMe函数
此时被隐藏
在beginPanel中添加
此时点击游戏设置,应该会跳转到这个界面
点击×应该能关闭界面
因为GUI的不完善,可能会出现 穿透现象,简单处理一下
在打开设置面板的时候,开始面板进行失活
在关闭设置面板时,再对开始面板激活
创建音效管理类
声明单例模式的管理类,用于管理游戏数据
PlayerPrefsDataMgr 感兴趣的可以去看我的 数据持久化 playerprefs的博客,如果有基础建议把学习时间花在xml和json
如果第一次进入游戏没有音效数据,所以所有的数据要不是false 要不是0 ,所以在音效数据类中增加一个是否是第一次加载数据的标识
只会进一次这个逻辑
新增一个函数进行数据更新
并且重载虚函数ShowMe,让打开面板的时候更新数据
测试一下
是选中状态,并且音量是满的就是成功了
在监听事件中添加各类函数
这是Setting Panel里的
测试一下
设置完毕后,停止游戏再开启,应该还是一样的状态
拖一下UI
自己可以拼一下
和设置一样,首先继承basePanel
关联对象
GUI太难拖五个对象,所以代码找到对象
看看找到没
关闭界面
再打开的时候更新信息
创建排行榜数据类
在声明排行榜列表类
在GameDataMgr中添加
在Panel中添加一条测试数据
别忘了添加监听事件,不然btn没用
测试成功,多运行几次
添加 Audio Source
挂载在场景的BKMusic上
改变API 中函数
如果不初始化的时候设置,不管之前的设置会怎么样,游戏一开始就会播放音乐,只有打开设置面板后才会根据设置改变音乐,所以在初始化脚本的Awake函数中增加一句