2012-04-27 4 views
1

どのように一般的にこれにアプローチするのか簡単な質問があります。私はあなたがゲーム紙のトスや、既存の画像の上にあなたの指を置くところでは、ビット(それをイメージビューを引っ張って言うことができます)をドラッグして、画面上でこの画像を移動させるようなものを見ているかどうかはわかりません。 (グラフィックスの動きやタッチイベントについての主心配)、グラフィックスを処理するための最良の方法であるもの、そのような何かをキャンバス(表面ビュー)を使用するか、翻訳アニメーションのビューを使用してください。

X:Y /を取得しにtranslateAnimationを行います -Have ImageViewのとOnTouchListenerタッチが解除されたときに画面全体で画像の平行移動を行います。

-ORキャンバス上に画像のビットマップを描画し、OnDrawメソッドでX/Y座標を取得します。タッチイベントとそれに応じてビットマップを描画

私はいつも一緒に行くと1つは混乱している? (私はドロップはこのために範囲外のものです/ドラッグのAndroid 2.3を目指しています)

PS:私はキャンバスとsurfaceviewは私が集中的GFXある

+0

ご回答いただければそれを受け入れてください。 – Sameer

+1

私は答えを受け入れました: – Snake

答えて

1

PS:私は、私は間違って

だ場合は、[はい、あなたは彼らが両方一緒に来る正しい私を修正キャンバスとsurfaceviewが一緒に常に来ることを想定しています。

最初のアニメーション(Translate、Rotate、Scaleのいずれか)では、ImageViewの位置を特定の時間(その間にアニメーションの効果を表示する)に変更します。それは元の位置に来るでしょう。

しかし、キャンバスでは、イメージビュー(ここではイメージビューではなくビットマップを描く)を座標のベースに永続的に変更します。あなたがあなたの指をタッチしてからどこにでもシンプルに描いてくれる画像をOnTouchEvent()

最後に私は何も私たちの要求に基づいているとは言いません。主にゲームの文脈で使用される表面とキャンバス。

+0

アニメーションでfillAfterを使用して最終的な位置にとどめることができます。良い答えですが、私はより詳細なものを探していました。 – Snake

0

何も間違っている場合ので、私を修正して常に一緒に来ることを想定しつまり、スプライトを使用するものは、SurfaceViewまたはGLSurfaceViewで実行して、最高のパフォーマンスを達成する必要があります。アニメーション化されていない動画/ビットマップがない場合、標準View/ViewGroupの実装は問題ありません。

SDKサンプルLunarLanderは、開始するのに適しています。

+0

あなたがAndroidにもっと慣れ親しんでいたいなら、それは良いスタート地点です。あなたがゲームに取り組んでいるなら、意志を再考しないためにいくつかのゲームエンジンを好む。 Javaでの開発が好きなら、LibGdxを使うことができます。これはbox2dのような多くの機能を持ち、あなたのゲームのライフサイクルを管理しているので、LunarLander androidサンプルのようにあなた自身で書く必要はありません。 – Deepscorn

+0

また、LibGdxのパフォーマンスは非常に良いと言います。デスクトップ上でアプリをデバッグできるため、開発が加速します。 – Deepscorn

関連する問題