我在学习一个用C#写的Unity3D教程,尝试着用UnityScript/Javascript来做。下面的几行我没能转换成功,是关于光线投射的。
这是 C# :
if(Physics.Raycast(ray, out hit, Mathf.Abs(deltaY), collisionMask)){
....
}
这是我所拥有的相关变量:
var ray : Ray;
var hit : RaycastHit;
var collisionMask : LayerMask;
var deltaY : float = moveAmount.y; // moveAmount is a Vector2
这是 Physics.Raycast的签名:
function Raycast (origin : Vector3,
direction : Vector3,
distance : float = Mathf.Infinity,
layerMask : int = kDefaultRaycastLayers) : boolean
我知道问题在于使用UnityScript不能辨别出“out”是什么,我不知道用什么来代替它。
原问题:Raycast - convert from C# to UnityScript
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
认证高级PHP讲师