2016-07-31 5 views
0

私はゲームでアニメーションスペースの背景を作っていますが、私はspritekitのノード「星ノード」を使ってみましたが、星の量のためにゲームが遅くなってしまったのですが、HDアニメーションの背景を作るプログラムや方法はありますか?アニメーションspritekitの背景を作成するには?

+0

あなたは現在、個別にあなたの "星" のそれぞれをアニメーション化していますか?もしそうなら、別のSKNodeの下で一緒にグループ化し、その単一のSKNodeをアニメーション化することを検討しましたか?パフォーマンスが向上するはずです。 –

+0

はい私はfuncをスクリーン上でランダムに作成しますが、どのノードでそれらをマージしてアニメーションすることができますか、いくつかの星のアニメーションをフェードインし、他のものをフェードアウトさせたい場合は – RUON

+0

何か問題でも。いくつかの星のパターンを持つアトラスを作成するのは、計算集約的であってはなりません。実際にシーンのテクスチャを保持してから、これらのキャッシュされたテクスチャを使用するSKNodeオブジェクトを作成してください。あなたの別のオプションは、事前にアニメーションを作成し、SKVideoNodeでレンダリングされたH264ビデオを作成することです。 – MoDJ

答えて

2

ちょうどあなたが知っている背景のための1つのノードが必要です。

基本的に、アニメーション背景の各フレームを画像として作成します。これらのイメージをアセットカタログのイメージアトラスに入れることができます。

これで、シーン全体を「背景」としてカバーする単一のスプライトノードを追加することができます。スプライトノードのテクスチャをアニメーションの最初のフレームに設定するだけです。

その後、didMoveToViewまたはそのようないくつかの方法で、

  1. SKTextureAtlasオブジェクト
  2. としてあなたのイメージアトラスはtextureNamedを使用してアトラスに各テクスチャをゲットして[SKTexture]
  3. にそれらのそれぞれを置きます

    から

:今、あなたは、配列を持っている、あなたはこのような何かを行うことができます

yourBackgroundSprite.runAction(SKAction.repeatForever(
    SKAction.animateWithtextures(theTexturesYouCreatedInStep2, timePerFrame: 30) 
)) 

This link might also help you.

+0

ありがとう:) ,,, – RUON

+0

背景画像にはどのようなディメンションを使用する必要がありますか? – Sam

関連する問題