アニメーションを作成したいのですが、ボールの画像が10枚あり、次のようにします。
Image1
表示、他のすべての画像は非表示Image2
他のすべての画像を非表示に表示- ..。
Image10
他のすべての画像を非表示に表示
1つのアニメーションでそれを行う必要がありますか(どのように?)、またはpathimageにある画像を表示して他の画像を非表示にするJavaメソッドshowImage(String pathimage)を作成する必要がありますか?を使用して時間遅延のアイデアを入れてもらえますか
handler.postDelayed(new Runnable() {
public void run() { }
}
編集、ここに私のコードがあります 問題は、run()が常に無限ループのように見えるもので呼び出されることです。しかし、私のエラーはどこにあるのかわかりません
ゲーム活動
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
.....
ImageView image2 = (ImageView) findViewById(R.id.imageView3);
image2.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
myAsyncRunnable mar = new myAsyncRunnable(GameActivity.this);
mar.execute(null);
PhotoTask photoTask = new PhotoTask(camera,surfaceCamera,isPreview,holder,GameActivity.this);
photoTask.execute(null);
Log.w("GAMEACTIVITY","PHOTOTASK");
return false;
}
});
}
私の非同期タスク
public class myAsyncRunnable extends AsyncTask<Void, Boolean, Void> {
GameActivity gameactivity;
@Override
protected Void doInBackground(Void... params) {
pull();
return null;
}
public myAsyncRunnable(GameActivity gameactivity) {
super();
this.gameactivity = gameactivity;
}
public void pull() {
final ImageView image3 = (ImageView) gameactivity.findViewById(R.id.imageView3);
final int drawables[] = new int[] {R.drawable.pull2,R.drawable.pull3,R.drawable.pull4,R.drawable.pull5,R.drawable.pull6,R.drawable.pull7};
Runnable runnable = new Runnable() {
@Override
public void run() {
for (int i=0;i<drawables.length;i++) {
image3.setImageResource(drawables[i]);
gameactivity.handler.postDelayed(this, 500);
Log.w("asyncrunnable","run"+i);
}
}
};
gameactivity.handler.post(runnable);
}
}