欢迎光临散文网 会员登陆 & 注册

Unity(2048)02-Menu场景控制

2023-04-05 16:14 作者:你的糖果罐子吖  | 我要投稿
  • 声明方法

MenuPanel
SelectModelPanel
SetPanel
  • 实现MenuPanel中的方法

在SelectModelPanel中增加show/hide 方法

使用gameobject.setactive()实现显示与隐藏

创建SelectModelPanel selectModelPanel来调用在SelectModelPanel中的方法
添加OnClick事件 选择的是场景不是脚本
在SelectModelPanel中可以添加组件EventTrigger来添加各种事件

此处在SelectModelPanel界面中添加点击图片时调用SelectModelPanel中的hide()事件

  • 实现MenuPanel中的方法 选择模式

储存数据

PlayerPrefs 是 Unity 引擎中用于存储持久化数据的工具类之一,它可以让您在游戏中存储和读取简单的键值对数据,如玩家分数、游戏设置等等。通过使用 PlayerPrefs 存储的数据,您可以实现在游戏关闭后仍然保持某些游戏状态的功能,而不需要每次重新开始游戏时重新设置。

使用 PlayerPrefs 存储数据时,Unity 引擎会将这些数据保存在磁盘上,因此这些数据在不同游戏场景之间以及在游戏关闭和重新打开之间都可以保留。您可以使用 PlayerPrefs 提供的方法来存储和读取各种类型的数据,如整数、浮点数、字符串等。在这个示例中,使用 PlayerPrefs.SetInt 方法将整数值 count 存储到键名 "game_mode" 中。

创建一个常量

将 "game_model" 字符串作为常量存储在 GameModel 变量中,这样在整个程序中都可以使用 GameModel 变量来引用该字符串,而不必在每个需要使用它的地方都写入该字符串。这样可以减少代码中的重复,提高代码的可读性和可维护性。


  • 实现MenuPanel中的方法 场景跳转

File-Buildsetting中把场景拖拽进去就可获得场景代码
场景加载并将返回的 AsyncOperation 对象赋值给变量 asyncOperation。

LoadSceneAsync 方法是异步的,这意味着它会在后台加载场景,而不会阻塞游戏的主线程,从而保持游戏的流畅性。该方法还返回一个 AsyncOperation 对象,您可以使用该对象来获取场景加载的进度,并执行其他操作,例如在场景加载完成后执行一些代码。

给三个按钮添加OnSelectModelClick事件,分别传出4,5,6

完成后点击选择模式的按钮可跳转到场景1

  • 实现SetPanel中的方法 关闭按钮OnBtnCloseClick()

创建一个View类,保存一些经常使用的方法
继承VIEW的方法,节约代码量
使用virtual使方法可重写
  • 实现SetPanel中的方法 音效按钮OnSoundValueChange()

保存两个常量
使用palyerprefs保存
给三个按钮注册相应的事件
定义SetPanel脚本的bianlSetPanel,以此引用show方法显示SetPanel界面
选择脚本

实现了开启设置界面和相应的事件

获取滑块组件
使用override重写show方法,使获取滑块的值初始化为之前保存的值
实现滑块设置的保存

实现了对设置界面滑块设置的保存

Unity(2048)02-Menu场景控制的评论 (共 条)

分享到微博请遵守国家法律