【问题标题】:Can't access member of RaycasHit无法访问 RaycasHit 的成员
【发布时间】:2014-09-27 18:51:11
【问题描述】:

我是 Unity 的新手,刚刚学习构建游戏。 但我在访问 RaycastHit 对象的成员时遇到问题。

我收到此错误。

Assets/MeleeySystem.js(12,32): BCE0019: 'distance' is not a member of 'System.Type'. 

看来 distance 不是 RaycastHit 的成员。

这是我的代码。如果有人可以帮助我在这方面做错了什么。

var TheDamage : int = 50;
var Distance : float = 2.5;

function Update(){

 if(Input.GetButtonDown("Fire1")){
    var hit = RaycastHit;
    var fwd = transform.TransformDirection(Vector3.forward);
    if(Physics.Raycast(transform.position, fwd, 10)){
        Distance = hit.distance;
    }
  }
}

【问题讨论】:

    标签: unity3d unityscript


    【解决方案1】:
    var HitInfo : RaycastHit;
    if(Physics.Raycast(transform.position, fwd, HitInfo, 10)){
        Distance = HitInfo.distance;
    }
    

    【讨论】:

      【解决方案2】:

      将命中声明为 RaycastHit:

      RaycastHit hit = RaycastHit;
      

      或将其投射到 RaycastHit:

      Distance = ((RaycastHit)hit).distance;
      

      不确定这是否是正确的 UnityScript 语法。

      【讨论】:

      • 感谢您指出正确的地方。但解决方案是var hit : RaycastHit
      猜你喜欢
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多