2011-10-22 2 views
0

私はアンドロイドゲームを開発しています。私はそれを考慮しているので、マルチスレッドに関するいくつかの助けが必要です。私はイメージを添付して、私は必要なものを説明することができます。 enter image description here 左から右に、そして右から左に鳥が私のゲームで完全に動いていて、羽根を2枚のイメージとして動かしていますが、卵を出すようになるとコードを実行します。例えば、鳥は4分間飛びます。 20秒おきに卵が落ちるようになり、今度は卵が上から下に移動し、別のゲームスレッドが使用され、GameLoopThreadオブジェクトが使用され、SurfaceHolderがサーフェスを保持しています 私はこれを使用しましたコード 私は卵を与えるために20秒の条件を作ることができますが、私は上から下に移動する卵のためのスレッドを作る方法を混乱させ、他の側の鳥は動き続けます。GameLoopThreadは簡単なAndroidゲームで、どうすれば並列スレッドを実行できますか?

本当にありがとうございます。

2を使用していないあなたは唯一のゲームのスレッドを必要とするATIF

答えて

2

は、それは(あなたがすべてを同期させる必要がある)のものがちょうどより複雑になります。

通常ゲームスレッドは、次の手順を実行し(そして永遠にループする):

  • は、タッチ/キーイベントを処理します
  • は(ダニ)を行う(スプライトの更新、状態、など)
  • は画面をレンダリングします

だから、あなたがする必要があるのは、スプライト(鳥、卵)のリストです。それらを配列に保持することができます。そしてtick()で、それぞれの位置を更新します。

スプライトリストは動的ですが、当初はスプライトが1つしかありません。鳥です。卵が作成されると、それをスプライト配列に追加するだけで、その点からも卵が処理されます。

+0

このアプリの開発に使用したコードに従って、ヒントやリンクを送信できますか?ありがとうございます。 –

関連する問題