2016-04-29 11 views
1

私はSpriteKitを新しくしています。これは、HTML5で約4ヶ月間プレイしています。 Mark Wihlberg's 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は問題ありません。より複雑なものについては、実際にはパスやベジエ曲線に従ったスプライトを使ってSKActionsを複雑にすることができます。Update()関数を使用して、スプライトを(enumerateChildNodesWithNameなどを使用して)繰り返し、必要に応じて移動します。

Update()の2つのスプライトを結合し、それらをSKActionでアニメーション化することができます。逆も同様です。

Update()に電話しないでください。ゲームエンジンによって自動的に1秒に60回呼び出されます。それは時間が経過するので、Update()が最後に呼び出されてから(正確には1/60sではない)正確にどのくらい時間が経過したかを調べることができます

関連する問題