2012-03-07 3 views
0

私はいくつかの異なる画像を表示する必要があるアンドロイドゲームを作っています。 私はdrawableディレクトリのリソースからイメージを生成し続け、画面の上部から下部にイメージをドロップする方法を作る必要があります。また、各画像は、画像が整数として作成されるとインデックス番号が高くなるID「画像-1」「画像-2」を持つ必要があります。私はまた、画面上部の別の場所に生成され、指定された速度でドロップする必要があります。彼らは底を打った後、私は方法は以下のように実行したい:アンドロイドで画像をドロップする

public void touchedGround() { 
//My code 
} 

私はこれまでのところ、このコードを使用しています:

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.Toast; 

public class GameScreenActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.gamescreen); 
    generateParachuters(savedInstanceState); 
} 

private void generateParachuters(Bundle icicle) { 
    // TODO Auto-generated method stub 
    Toast.makeText(getApplicationContext(), "generating images", 10).show(); 
} 
} 

答えて

0

は、私はそれを行うための一つの方法を知っているが、それは多くを必要とおそらくあなたが探しているものより多くのコード。しかし、ねえ、ここに行く。

  1. 降下オブジェクトのクラスを作成します。これは、Parachuterと推測しています。このクラスには、画面上の位置を追跡するためのXおよびY変数があります。次に、tickメソッドを使用することができます。これにより、Y変数は速く低下します。必要に応じて整数IDを追跡することもできます。

  2. Parachuterオブジェクトを保持するリストを作成します。私はArrayListを使用します。このようにして、必要に応じてParachuterを作成し、それをリストに追加します。リストを巡回して、それぞれを描画します。

  3. Parachuterを描画するには何かが必要です。個人的には、私はSurfaceViewからCanvasを使用します。

  4. ループアニメーションが必要です。ループスルーし、毎回Parachuterを描画し、それぞれにtickを呼び出します。

  5. ループ中に、Parachuterの位置を確認できます。その位置がCanvas.getHeight()を超えている場合は、リストから画像を削除します。

まあ、そこにはかなりあります。それ以上の説明が必要な場合は私に尋ねてください。

更新Here's a fully-working example

UPDATE 2

//Check right edge of screen 
for (int i = 0; i < parachuters.size(); i++) 
{ 
    if (parachuters.get(i).getX() > canvas.getWidth()) 
     //Do whatever it is you want 
} 
+0

あなたは、ステップ3の詳細を説明してもらえます? – user1183066

+0

サンプルコードとプロジェクトは、http://www.droidnova.com/playing-with-graphics-in-android-part-ii160.htmlとhttp://developer.android.com/resources/samplesで見つけることができます。 /LunarLander/index.html –

+0

私はサンプルコードとプロジェクトを使用しようとしましたが、運がありません。私はそれから何も得ていない。あなたは私にあなたがそれをやる方法のいくつかのコードを投稿できますか?私は "Parachuter.java"と呼ばれるカスタムクラスを作成しました。そしてそれは私のカスタム "ImageView"です。 – user1183066

関連する問題