[3D跑酷] UI事件处理系统
在我们的Unity游戏项目中,GUI的表现采用NGUI。记录一下我们的处理方式:
需要解决的问题
1、需要处理大量按钮的点击事件
2、需要处理界面跳转事件
3、需要处理界面元素更新事件
解决方案
GUIClickEventReceiver
解决按钮点击事件
GUIManager
管理GUI的跳转与更新
具体实现
Inspector选择事件
在编辑器中为按钮选择点击事件
事件代码结构
主要逻辑
public void OnClick (){bool playSoundEffect = true;switch (clickType) {case ClickType.StartGame:GameManager.instance.startGame ();break;case ClickType.Store:GUIManager.instance.showGUI (GUIState.Store);break;case ClickType.Stats:GUIManager.instance.showGUI (GUIState.Stats);break;case ClickType.DoubleCoinUpgrade:GameManager.instance.upgradePowerUp (PowerUpTypes.DoubleCoin);break;case ClickType.CoinMagnetUpgrade:GameManager.instance.upgradePowerUp (PowerUpTypes.CoinMagnet);break;case ClickType.InvincibilityUpgrade:GameManager.instance.upgradePowerUp (PowerUpTypes.Invincibility);break;case ClickType.AddSpeedUpgrade:GameManager.instance.upgradePowerUp (PowerUpTypes.AddSpeed);break;case ClickType.ProtectionCoverUpgrade:GameManager.instance.upgradePowerUp(PowerUpTypes.ProtectionCover);break;case ClickType.AttackGunUpgrade:GameManager.instance.upgradePowerUp(PowerUpTypes.AttackGun);break;case ClickType.EndGame:GUIManager.instance.showGUI (GUIState.EndGame);break;case ClickType.Restart:GameManager.instance.restartGame (true);break;case ClickType.MainMenu:GameManager.instance.backToMainMenu (false);break;case ClickType.MainMenuRestart:GameManager.instance.backToMainMenu (true);break;case ClickType.Pause:GameManager.instance.pauseGame (true);playSoundEffect = false;break;case ClickType.Resume:GameManager.instance.pauseGame (false);break;case ClickType.ToggleTutorial:GameManager.instance.toggleTutorial ();break;case ClickType.Missions:GUIManager.instance.showGUI (GUIState.Missions);break;}if (playSoundEffect)AudioManager.instance.playSoundEffect (SoundEffects.GUITapSoundEffect);}
[3D跑酷] UI事件处理系统相关推荐
- 3D跑酷类小游戏开发实战
今天,带领大家从零开始开发一款完整的3D跑酷类小游戏,主要面向有一定Egret2D开发经验的小伙伴,手把手教你学习EgretPro开发,快速开启您的EgretPro开发之旅. 下面是整个游戏的制作过程 ...
- 视频教程-从零开始开发3D跑酷游戏教程-Unity3D
从零开始开发3D跑酷游戏教程 从业8年以上,学过一点知识,写过一点代码,擅长计算机图形学,擅长unity3d,擅长将抽象的东西讲明白,写看得懂的代码,讲听得懂的课程,不闲聊,不扯淡,满满的干货 洪青霞 ...
- 从零开始开发3D跑酷游戏教程-洪青霞-专题视频课程
从零开始开发3D跑酷游戏教程-1425人已学习 课程介绍 从零开发3D跑酷游戏视频培训课程,教大家从零开始开发一个3D跑酷游戏,涵盖了手势识别.动画系统.水平控制.纵向控制.金币获取. ...
- 视频教程 | 3D 跑酷小游戏实战开发(下)
上篇内容我们发布了 <视频教程 | 3D 跑酷小游戏实战开发(上)>,讲述了概述及创建.跑道创建.添加主角,今天我们继续学习:添加金币.处理碰撞.添加UI界面. 通过今天的学习,相信大家可 ...
- UI设计培训之UI设计系统知识
最近有很多小伙伴都在学习UI设计的相关知识,很多同学都是东边一学习一下,西边学习一下,根本没有明确的学习方法,对于这个问题小编为大家整理了一下学习UI设计的系统知识,一起看看吧! UI设计培训之UI设 ...
- 计算机组成原理实验认识多思网络虚拟实验系统_3D全息投影,裸眼3D,全息互动投影系统...
虚拟仿真(Virtual Reality)是用虚拟系统模仿真实系统的技术,是一种可创建和体验虚拟世界(Virtual World)的计算机系统.伴随着教育信息化进程的推进,VR/AR技术正在潜移默化地 ...
- 事件处理-注册时间 // 事件处理-修饰符 // 事件处理-键盘事件的修饰符 // 事件处理-系统修饰符 // 事件处理-鼠标修饰符
事件处理-注册事件 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...
- 一种基于UE4平台多人交互3D家装设计系统及使用方法与流程
本发明涉及一种基于UE4平台多人交互3D家装设计系统及使用方法,属虚拟现实技术领域. 背景技术: 目前随着虚拟现实技术的飞速发展,当前在进行家装实际工作中,为了提高设计方案对用户展示的便捷性和准确性, ...
- 2022-2028全球与中国3D视觉引导机器人系统市场现状及未来发展趋势
2021年全球3D视觉引导机器人系统市场销售额达到了 亿美元,预计2028年将达到 亿美元,年复合增长率(CAGR)为 %(2022-2028).地区层面来看,中国市场在过去几年变化较快,2021年市 ...
最新文章
- 【经典】javascript ES5原生实现考试题答案全排列组合数组结果获取
- idae 格式化代码 设置eslint_vscode 中格式化代码[vue2支持,插件ESLint、Prettier、Vetur]...
- C++标准模板库(STL)的概念
- Qt for Android调用Android接口将程序移到后台/前台运行
- JavaScript 复习之 事件模型 和 Event对象
- 接到骗子短信后........
- fastDFS 命令笔记
- serialize()与unserialize()
- 对DataGridView中的DataGridViewComboBoxColumn有了一点点体会
- mysql 5.7.11 压缩包安装办法遇到故障后彻底卸载办法
- 文本文件中,如何判断有效换行?
- matlab 最小二乘法拟合_最小二乘法辨识1阶离散传递函数
- 34.在排序数组中查找元素的第一个和最后一个位置(力扣leetcode) 博主可答疑该问题
- Jave2-Java音频视频编码器
- linux 下查看文件字符编码和转换编码 360doc,Linux 下查看文件字符编码和转换编码...
- 明尼苏达量表结果分析_明尼苏达满意度量表的指标
- a-upload文件夹上传
- Ubuntu18.04 安装最新版WPS
- python杨辉三角居中_利用python打印杨辉三角
- (vue)vue导出excel文件打不开,或者文件内容为object object
热门文章
- C++/Qt框架下的简易计算器
- catia 摆正点云的方法_catia点云
- Kotlin语言现在怎么不火了?
- java连接海康摄像头_Java实现 海康摄像头抓拍图像
- 智慧农业发展,商业计划书撰写,商业模式,ppt亮点
- html怎么设置竖线符号,竖线符号怎么打【运用方式】
- 冒泡排序 以及利用函数升序 降序
- 1602实现计算机实验报告,1602实验报告资料.doc
- esp8266+arduino IDE+阿里云IOT+萤石云=远程视频遥控车(一)
- NSArray与NSPredicate使用