无法访问RaycasHit的成员

时间:2014-09-27 10:28:06

标签: unity3d unityscript

我是Unity的新手,只是学习构建游戏。 但我有一个问题来访问RaycastHit对象的成员。

我收到了这个错误。

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

似乎距离不是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;
    }
  }
}

2 个答案:

答案 0 :(得分:1)

声明命中为RaycastHit:

RaycastHit hit = RaycastHit;

或者将其投射到RaycastHit:

Distance = ((RaycastHit)hit).distance;

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

答案 1 :(得分:1)

var HitInfo : RaycastHit;
if(Physics.Raycast(transform.position, fwd, HitInfo, 10)){
    Distance = HitInfo.distance;
}