3
namespace FsharpUnity
open UnityEngine
type DebugTest() =
inherit MonoBehaviour()
member this.Update() =
let m = Input.mousePosition
let look = Camera.main.ScreenPointToRay(m)
let mutable r = new RaycastHit()
if Physics.Raycast(look, ref r,1000.0f) then
Debug.Log("I hit: " + r.point.ToString())
()
我目前正在嘗試使用F#與Unity3d,我不知道如何使用ref關鍵字與對象。Ref與對象
我
let mutable r = new RaycastHit() // Is this incorrect?
if Physics.Raycast(..., ref r,....) then
嘗試過,但在r
總是空的,這似乎有點怪。沒有關於如何在對象上使用ref關鍵字的示例http://msdn.microsoft.com/en-us/library/dd233186.aspx
我犯了一個錯誤嗎?
澄清我的問題:這是正確的語法嗎?
let mutable r = new RaycastHit()
... ref r ....
大多數您使用'mutable'或'ref'但不能同時的時間。你可以做'let r = ref(new RayCastHit())',它創建一個不可變的指向包含實例的引用單元格的指針。這是使用'ref'的正確方法,但我不確定它會與Unity調用兼容。 –