首页 > 其他分享 >7-7. 实现新的冒险逻辑

7-7. 实现新的冒险逻辑

时间:2024-02-28 21:46:33浏览次数:21  
标签:逻辑 实现 Event EventSystem Game SO New 冒险

实现新的冒险

添加 New Game Event SO

使用 Void Event SO 创建 New Game Event SO

点击新的冒险发布事件

订阅新的冒险事件

由 SceneLoadManager 订阅事件

为了区分菜单场景和第一次加载场景,分别使用的 MenuScene MenuPosition 和 FirstLoadScene FirstPosition

Start 的时候加载 MenuScene

收到 New Game Event SO 的时候加载 FirstScene

实现进入菜单的时候可以用键盘控制按钮选择

在 Menu 场景的 Canvas 上面添加 MenuCanvas,在 OnEnable 的时候调用EventSystem.current.SetSelectedGameObject(selectButton.gameObject);

系统中只有一个 EventSystem,所以可以使用 EventSystem.current 来获取

selectButton 就是开始按钮

之后就能用键盘上下选择了

实现退出逻辑

在 MenuCanvas 上写 ExitGame 方法,在退出按钮 onClick 事件中调用这个 ExitGame 方法即可

项目相关代码

代码仓库:https://gitee.com/nbda1121440/2DAdventure.git

标签:20240228_2123

标签:逻辑,实现,Event,EventSystem,Game,SO,New,冒险
From: https://www.cnblogs.com/hellozjf/p/18041961

相关文章

  • springboot中实现一个接口
    实现一个接口,需要在service里写一个接口,写一个实现,在controller里写一个类chatgpt4.0:在Spring框架中,实现一个接口通常遵循一种分层的架构模式,这种模式涉及到至少三个主要部分:接口定义、服务层实现、以及控制器层。这个流程确保了应用程序的高内聚、低耦合特性,同时也符合Spring......
  • 《实现领域驱动设计》- 模块
    通过模块完成设计在DDD中,模型中的模块表示了一个命名的容器,用于存放领域中内聚在一起的类。将类放在不同模块中的目的在于达到松耦合性。在DDD中的模块并不是一个通用的存储区域,因此对其进行适当的命名是重要的。事实上,模块名是通用语言的重要组成部分。在设计模块......
  • ssts-hospital-web-master项目实战记录三十:项目迁移-Hook实现(useDeviceStore)
    记录时间:2024-02-28一、useDeviceStore模块实现types/device.ts//定义DeviceInfo的类型interfaceDeviceInfo{ Id:string TypeId:number TypeName:string DeviceId:number OrderNo:number DeviceName:string DeviceCode:string ParentI......
  • 卡尔曼滤波器的定义,实例和代码实现
    卡尔曼滤波器(Kalmanfilter)是一种高效的递归滤波器,能够从一系列包含噪音的测量值中估计动态系统的状态.因为不需要存储历史状态,没有复杂计算,非常适合在资源有限的嵌入式系统中使用.常用于飞行器的导引,导航及控制,机械和金融中的时间序列分析,轨迹最佳化等.卡尔曼滤......
  • c# 4.8 实现Windows 定时任务计划(Task Scheduler)
    分享一个我自己写的 Windows定时任务计划(TaskScheduler)动态创建代码,没做太多封装,留个实现笔记首先封装一个简单配置项的类publicclassTaskSchedulerConfig{///<summary>///引用程序路径///</summary>publicstringApplicationPath{get;set;......
  • ssts-hospital-web-master项目实战记录二十九:项目迁移-Hook实现(useDictStore)
    记录时间:2024-02-28一、useDictStore模块实现const/index.ts//常量constDICT_VERSIONDATA='versionData'constDICT_PAGE='page'constDICT_COMMON='common'constDICT_DEVICE='device'constDICT_SYSTEM='system......
  • ssts-hospital-web-master项目实战记录二十八:项目迁移-Hook实现(useFlowStore)
    记录时间:2024-02-28一、useFlowStore模块实现store/useFlowStore.tsimport{defineStore}from'pinia'import{Flow,Flows}from'@/types/flow'exportconstuseFlowStore=defineStore('flow',{ state:()=>({  flow:{}as......
  • APicloud 使用dwzBaiduFaceLive模块实现人脸识别
    1、先获取APP的签名MD5, 2、进入ApiCloud官网,找到自已APP证书,点击android证书右上角的自动创建证书,然后弹出窗口点下载证书 3、下载完的证书4、keytool–list–v–keystore<签名文件路径>,获取MD55、在百度云人脸采集SDK下创建应用,应用名有用;BaiAnDrugApp4License......
  • 7-4. 场景加载后的执行逻辑
    解决场景加载后人物坐标不正确的问题在SceneLoader.UnLoadPreviousScene中,场景卸载掉之后,需要将人物隐藏场景加载完之后,需要执行回调在回调中,需要设置当前加载的场景,设置人物的坐标,显示人物,并发布场景完成后的事件注意,afterSceneLoadedEvent是一个VoidEventSO切换场景......
  • Vue3 配合 Element-Plus 和 iframe-resizer 完美实现抽屉 Drawer 和 iframe
    环境准备pnpminstallvuelodashelement-plusiframe-resizerpnpminstall@types/iframe-resizer-Diframe新建文件src/utils/directives/iframeResize.ts​import{Directive,DirectiveBinding,nextTick}from"vue"importiframeResizefrom"iframe-r......