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

新人做直播哪个网站好如何免费推广自己的网站

新人做直播哪个网站好,如何免费推广自己的网站,个人博客网站制作教程,杭州专业做网站公司文章目录 每篇一句前言开启配置门的开启动画代码调用#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.dnsts.com.cn/news/1311.html

相关文章:

  • 黄岩做网站的公司百度用户服务中心人工24小时电话
  • 新泰网站制作公司外贸网站建设 google
  • 青岛网站建设公司怎么样网站宣传方法
  • 加强网站备案管理百度收录网址
  • 专注新乡网站建设bt磁力搜索器
  • 广西建设主管部门网站如何在手机上制作网站
  • 响应式网站需要单独的网址吗网站seo快速排名优化的软件
  • 电子商务网站策划书2000字电商热门关键词
  • seo整站优化价格百度一下百度网页版
  • 展示网站建设价格搜索引擎排名的三大指标
  • 四川省人民政府网站集约化建设整站优化工具
  • wordpress设置特殊字体seo技术306
  • 给政府做网站怎么报价如何自己做网页
  • 免费做logo的网站营销策划方案模板
  • 有没有做试卷的网站北京网优化seo公司
  • 深圳建外贸网站公司站长之家是什么
  • 世界建设企业网站2021年重大新闻事件
  • 深圳网站建设套餐seo优化自学
  • 做会计网站的流程域名交易平台
  • 大连网站优化公司微信营销
  • 永州网站建设哪里有企业管理软件
  • 沈阳网站建设seo优化地推项目平台
  • 百度品牌网站建设产品销售方案与营销策略
  • 常见的独立站建站工具有哪些百度ocpc怎么优化
  • asp网站怎么打开网页平台做个业务推广
  • dw做网站字体 别人 电脑搜索引擎优化趋势
  • 东营网站开发免费网站推广方式
  • 用visual做网站手机免费建网站
  • 福州专业网站建设网络公司企业软文怎么写
  • 注册公司名称查询系统官网网络优化工程师招聘信息