2016-04-29 58 views
1

對於SpriteKit來說,我相當新,大約4個月時間都在使用HTML5。使用HTML5 youtube遊戲教程,我的程序總是不斷更新玩家或對象的位置。SpriteKit - 更新功能中的SKActions或更新位置

例如,如果它可以幫助:

function run() { 
    var loop = function() { 
     window.requestAnimationFrame(loop, canvas); 

     update(); //here I would add maybe 3 to a player's x pos and redraw in draw() 
     draw(); 
    } 
    window.requestAnimationFrame(loop, canvas); 
} 

但在各種SpriteKit教程在網上看,很多使用SKAction在屏幕上移動節點。

我的問題是,不斷更新節點在SpriteKit中的位置是非正統的,還是皺起眉頭,我應該習慣使用動作,爲什麼?

+0

您可以使用更新函數之外的SKActions,或者增加/減少位置或更新功能中的旋轉,這取決於你。 – Abdou023

回答

2

不,它不是不皺眉,而且很好知道如何手動做這些事情。如果它非常簡單,定期移動,那麼SKAction就可以。對於更復雜的東西(和SKA實際上可能會變得複雜,精靈跟隨路徑和貝塞爾曲線等),使用Update()函數,迭代你的精靈(使用enumerateChildNodesWithName或類似),並根據需要移動它們。

您可以合併2 - 在Update()中移動精靈並使用SKAction對其進行動畫處理,反之亦然。

請記住,您不要撥打Update();它被遊戲引擎自動調用60次一秒。它會經過一段時間,所以你可以計算自上次調用Update()以來的時間(不總是1/60秒)