【问题标题】:new tag not working新标签不起作用
【发布时间】:2015-03-13 05:32:07
【问题描述】:

我无法弄清楚这段代码有什么问题,我添加了一个新的标签名称“light”,当我把它放在对象上时我无法让它响应,我在同一个场景中使用了这个非常相似的代码,但是标签已更改为弹药或健康。如果我将代码中的标签更改为较旧的标签之一,它会响应但“轻”无响应不会做任何事情。我检查过的触发器设置在多维数据集上,它与我场景中的对象基本相同,除了标签被更改并且什么都没有。我使用免费的统一版本 4.6。

 var amplitude : float = 10.0;

 function Start() {

 }

 function OnTriggerEnter (l : Collider)
 {
     if(l.tag == "light")
     {
         amplitude = 100;
     }
 }

【问题讨论】:

  • 您在这里实际使用的是什么语言?它看起来像 UnityScript 而不是 JavaScript。在将标签描述附加到您的问题之前,请先阅读标签描述。 unity != unity3d。标签描述明确告诉您不要将其用于unity3d 问题。
  • 据我所知,问题不在此代码 sn-p 中。确保您已正确命名标记,使用它标记对象,并且正确配置碰撞器?

标签: unity3d unityscript


【解决方案1】:

当您使用float 时,您必须在值的末尾添加字母f,以告诉计算机它是一个浮点数。
您必须将var amplitude : float = 10.0; 更改为var amplitude : float = 10.0f;,并将amplitude = 100; 更改为amplitude = 100f;
如果不添加f,计算机会将 10.0 更改为 double,将 100 更改为 int。

【讨论】:

  • 这与手头的问题无关。最后 10.0 和 100 都会被转换为浮点数,不会出现编译错误。但更重要的是,您希望这些外观变化如何解决任何问题?
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-01
  • 2012-04-28
  • 2016-05-14
  • 1970-01-01
相关资源
最近更新 更多