(我使用HaxeFlixel的Dev分支)正確的方式來實例化一個FlxPoint
要創建一個新的變量FlxPoint
我可以做的三件事情一個...
var pt:FlxPoint = new FlxPoint();
var pt:FlxPoint = FlxPoint.weak();
var pt:FlxPoint = FlxPoint.get();
從閱讀方法的意見,我已經發現有某種形式的池可能會加速創建FlxPoint
s。在什麼情況下我應該使用三種方法中的每一種來創建新的FlxPoint
?
我有幾個函數要麼接受FlxPoint
s作爲參數,要麼返回它們。我應該複製FlxPoint
自己做什麼,並使用.weak()
來創建它們,.putWeak()
回收點傳遞給函數?
對我來說,似乎.get()
是用於長期存在的變量(玩家開始位置,存儲在數組中用於路徑查找的點等),而.weak()
用於臨時值(在函數內計算的中間值)。這是正確的嗎?
我希望我可以將所有三個答案都標記爲「正確」,但是關於圖書館電話的一點說明它是最好的。接受FlxPoint的庫函數應該嘗試釋放它們,並且應該弱地創建它們,因爲它們可能會像你的旋轉示例一樣被多次調用。 – Piku