【问题标题】:'transform' is not a member of 'object'“变换”不是“对象”的成员
【发布时间】:2015-02-27 12:04:45
【问题描述】:

我遇到了射击脚本的问题。本节中的 Unity 向我显示以下错误:

'transform' is not member of 'Object'

我尝试修复它,但它不起作用。有什么解决办法吗?

function ApplyDamage(dmg : float, hit)
{
    hit.transform.SendMessage("Damage",dmg);
}

【问题讨论】:

  • hit的值是多少?
  • 这就是为什么我不喜欢 unity3d 中的 JavaScript。也许你应该做一些类似 hit.gameObject.transform

标签: unity3d unityscript


【解决方案1】:

这里最常见的错误是假设泛型 ObjectGameObject 之一(即子类型)。

我会尝试以下两种方法之一:

1) 直接在参数定义中将hit定义为GameObject

 function ApplyDamage(dmg : float, hit : GameObject)
 {
    hit.transform.SendMessage("Damage", dmg);
 }

2) 访问它的gameObject组件:

 function ApplyDamage(dmg : float, hit)
 {
    hit.gameObject.transform.SendMessage("Damage", dmg);
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 2018-09-10
    相关资源
    最近更新 更多