2014-09-27 75 views
0

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

我得到这个错误。

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; 
    } 
    } 
} 

回答

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

申报命中为RaycastHit:

RaycastHit hit = RaycastHit; 

或浇铸它RaycastHit:如果

Distance = ((RaycastHit)hit).distance; 

不知道这是正确的语法UnityScript。

+0

感谢您指出正确的位置。但解决方案是'var hit:RaycastHit' – 2014-09-27 10:48:25