当前位置: 首页 > news >正文

手机网站建设多少钿私有云网站建设

手机网站建设多少钿,私有云网站建设,网页设计重庆,wordpress静态404错误文章目录 每篇一句前言开启配置门的开启动画代码调用#xff0c;控制开启门动画 新增CollisionDetector 脚本#xff0c;使用UnityEvent #xff0c;控制钥匙和门的绑定多把钥匙控制多个门一把钥匙控制多个门 BUFF系统扩展参考源码完结 每篇一句 人总是害怕去追求自己最重要… 文章目录 每篇一句前言开启配置门的开启动画代码调用控制开启门动画 新增CollisionDetector 脚本使用UnityEvent 控制钥匙和门的绑定多把钥匙控制多个门一把钥匙控制多个门 BUFF系统扩展参考源码完结 每篇一句 人总是害怕去追求自己最重要的梦想因为他们觉得自己不配拥有或者觉得自己没有能力去完成。 ——保罗柯艾略《牧羊少年奇妙之路》 前言 当开发2D游戏时钥匙门系统和buff系统是常见的游戏机制。当开发2D游戏时钥匙门系统和buff系统是常见的游戏机制。如果让你开发一个钥匙门系统你的想法可能是写个钥匙控制脚本再写个门脚本控制开门当人物触碰钥匙然后调用对应的门代码打开对应的门这样做无疑是没什么问题的但是当要扩展一个钥匙打开多门或者不同钥匙打开不同门的情况系统的扩展性和可读性就会变得很差。而这里我分享一种方法使用UnityEvent实现这些系统。 UnityEvent是Unity引擎提供的事件系统它允许我们在游戏中定义和触发自定义事件并与之相关联的回调函数。使用UnityEvent我们可以轻松地创建灵活的、可扩展的钥匙门系统和buff系统为游戏增添深度和变化。 首先使用UnityEvent可以实现高度的可定制性。我们可以设计各种类型的事件并创建相应的回调函数来响应这些事件。例如在钥匙门系统中我们可以创建一个UnityEvent来表示玩家获得了一把钥匙然后将该事件与门的解锁方法关联起来。这样只要玩家获得了钥匙门就会自动解锁。通过这种方式我们可以根据游戏需要定义任意数量的事件和回调从而创建出独特而富有挑战性的游戏玩法。 其次UnityEvent提供了良好的可扩展性。由于UnityEvent是基于委托的我们可以方便地增加或删除事件的监听器。这使得我们能够轻松地扩展钥匙门系统和buff系统的功能。例如在buff系统中我们可以在玩家获得一个新的buff时通过UnityEvent通知其他相关系统进行相应处理如调整玩家属性、触发特效等。通过添加和移除事件监听器我们可以根据游戏的需求动态修改系统的行为使其更加灵活和可定制。 此外使用UnityEvent还能提高项目的可维护性和可读性。通过将事件和回调函数封装在UnityEvent中我们可以将相关逻辑集中在一起使代码更加清晰易懂。同时当需要修改或扩展系统时我们只需关注UnityEvent的定义和调用而不必修改大量散落在代码中的具体实现。这种解耦合的设计有助于减少bug的引入并提高代码的可维护性。 总而言之使用UnityEvent可以极大地简化钥匙门系统和buff系统的开发过程使其更具灵活性、可扩展性和可读性。通过合理地利用UnityEvent我们能够快速实现复杂的游戏机制并为玩家带来丰富多样的游戏体验。接下来让我们深入了解如何利用UnityEvent来构建出色的钥匙门系统和buff系统吧 开启 配置门的开启动画 代码调用控制开启门动画 using UnityEngine;public class Door : MonoBehaviour {private Animator _animator;private void Awake(){_animator GetComponentAnimator();}// 菜单选项用于在编辑器中手动调用Open方法[ContextMenu(itemName: Open)]public void Open(){_animator.SetTrigger(Open);} }效果 新增CollisionDetector 脚本使用UnityEvent 控制钥匙和门的绑定 using UnityEngine; using UnityEngine.Events;public class CollisionDetector : MonoBehaviour {[SerializeField]private string _colliderScript;[SerializeField]private UnityEvent _collisionEntered;[SerializeField]private UnityEvent _collisionExit;// 当其他物体进入碰撞时调用的方法private void OnCollisionEnter2D(Collision2D col){if (col.gameObject.GetComponent(_colliderScript)){_collisionEntered?.Invoke();}}// 当其他物体离开碰撞时调用的方法private void OnCollisionExit2D(Collision2D col){if (col.gameObject.GetComponent(_colliderScript)){_collisionExit?.Invoke();}} }绘制门和钥匙 挂载代码 效果 多把钥匙控制多个门 新增代码控制修改钥匙颜色对应门颜色也跟着改 using System; using System.Collections.Generic; using UnityEngine;public class ColorAligner : MonoBehaviour {[SerializeField]private Color _color;[SerializeField]private ListSpriteRenderer _renderersToAlign;// 在编辑器中修改字段值时自动调用的方法private void OnValidate(){// 遍历_renderersToAlign列表并将每个SpriteRenderer的颜色设置为_color字段的值_renderersToAlign.ForEach((SpriteRenderer sp) {sp.color _color;});} }配置 效果 一把钥匙控制多个门 绘制场景 配置参数 效果 BUFF系统 都看到这里了buff系统的实现就不用多说了吧同理即可 比如 using UnityEngine;public class Buff : MonoBehaviour {public void AddHealth(){Debug.Log(加血);}public void AddSpeed(){Debug.Log(加速);}//TODO: 其他BUff }拾取每个buff物品时执行对应的效果方法即可是不是很简单 扩展 你还可以将他扩展用到其他功能上比如陷阱触发对话打开宝箱等等 参考 【视频】https://www.youtube.com/watch?appdesktopv1IJmenD1HOk 源码 为了防止大家变懒源码就不提供了大家直接可以照着文章思路进行学习 完结 赠人玫瑰手有余香如果文章内容对你有所帮助请不要吝啬你的点赞评论和关注以便我第一时间收到反馈你的每一次支持都是我不断创作的最大动力。点赞越多更新越快哦当然如果你发现了文章中存在错误或者有更好的解决方法也欢迎评论私信告诉我哦 好了我是向宇https://xiangyu.blog.csdn.net 一位在小公司默默奋斗的开发者出于兴趣爱好于是最近才开始自习unity。如果你遇到任何问题也欢迎你评论私信找我 虽然有些问题我可能也不一定会但是我会查阅各方资料争取给出最好的建议希望可以帮助更多想学编程的人共勉~
http://www.tj-hxxt.cn/news/230964.html

相关文章:

  • 营销策划包括哪些内容江门关键词优化广告
  • wordpress怎么给别人建站山东做网站公司
  • 新网站快速排名软件衡阳购物网站开发案例
  • 成都房产信息查询官方网站wordpress微信群机器人
  • 百度 搜索到手机网站动漫制作专业在广西哪所院校最强
  • 网站服务器是干什么的西安seo交流
  • 网站个人备案类型怎样制作免费手机网站
  • 无锡网站营销推广中国黄金集团建设有限公司官方网站
  • 网站后台管理系统需求网站建设net接口
  • seo网站源码乐山市规划和建设局网站
  • 做职业规划的网站网站上传图片不成功
  • 网站开发技能有哪些公司网站百度排名没有了
  • 惠州做网站好的公司光华路网站建设
  • 农村做网站开发快速建站完整版
  • 做网站反复修改WordPress网站转APP插件
  • 网站建设如何入账从零开始wordpress主题
  • 网站需要优化的小型公司网站地址英文
  • 义乌义亭招工做网站养猪工作网站建设联系
  • 北京比较好的网站公司自己做网站卖什么
  • 女装市场网站建设费用评估wordpress中文博客主题
  • 网站开发的主要内容wap页面是什么
  • 雄安网站开发公司森网站建设
  • 做网站都要会些什么郑州网站建设选微锐
  • 淘宝联盟登记新网站深圳公司注册地址可以是住宅吗
  • 安徽网站搭建北京网站建设小鱼在线
  • 大学生网站开发接单全球最大的网站建设外包网
  • 手工艺品外贸公司网站建设方案北京建设工程联合验收网站
  • 怎样做易支付网站太原网站建设制作
  • 徐东做网站凡客官网首页
  • 电白网站开发公司企业官网招聘信息