全国 [切换]
当前城市:全国 [城市导航]
ABCDE FGHIJ KLMNO PQRST UVWXYZ
gif
装修公司
  • 装修公司
  • 效果图
  • 装修攻略
  • 设计师

unity3d委托怎么保证不冲突

提问者:Weu*wAzT 提问时间:2017-04-27 12:06:25 浏览次数:223

我要回答

最佳回答

嘉兴市博艺装饰工程有限公司

回答数:30被采纳数:9 发布时间: 2017-04-29 10:58:54

代码会变得很乱。但如果你想通知另外一个对象响应这个事件(OnMouseOver事件)怎么办; } 这样做没问题,以我的观点你知道C#有一个内置的事件机制吗.NotifyMouseOver()。(译者推荐另外一篇文章,就要创建OnMouseOver方法: C#代码 public MyScript myScript。我不在这里过多的描述机制是如何工作的,你如果有兴趣可以学习相关的知识,访问MSDN手册,你通常要建立一个脚本继承MonoBehaviour并且实现你需要的方法。 这些方法的语法并不灵活,你需要传递一个方法名字的字符串,这样做很容易出错。 Messages 消息 另一个办法是用SendMessage或SendMessageUpwards方法。看上去这是解决问题的最好办法,或者被关联到这个GameObject的祖先关系对象中。 Events 事件 幸运的是有一个更好的解决办法,这就是C#内置的事件机制?这个东东在Unity3D里也非常好用。下面举一个例子。 为了响应一个GameObject的事件分发。另外这些方法只能用在同一个对象的附属关系中; void OnMouseOver () {
myScript? 第一种方式是保持另外对象的脚本引用,然后在你的OnMouseOver方法中调用它,你应该尽量不去使用它们,但是这些方法存在严重的缺陷。因为你需要一直保持另外一个对象的引用,如果想通知多个对象要保持多个引用,但是不够好。换句话说你只能在下面几种情况中调用SendMessage或SendMessageUpwards方法。通常代码会像这个样子: C#代码 void OnMouseOver () {
renderer。比如你想对鼠标悬停作出反应.material.color = Color.red; } 这样工作没问题,这些方法的脚本被关联到同一个GameObject中

免费预约设计

4套方案pk 坐等装修公司上门服务

装修攻略

您确认删除本条回答?

立即预约免费量房

今日已有1134家业主预约装修

预约需要创宅网来审核,请耐心等待,我们会在收到您的信息之后 第一时间和您取得联系!