私のプロジェクトでは、12 枚のカードでゲームを作成する必要があります。ゲーム開始時は全員裏向きです。カードを 1 枚選ぶと、表向きになります。さらに別のカードを選び続けると、表向きの2枚のカードの画像が両方とも同じである場合、そのカードは消えます。そうでない場合、カードは再び裏向きになります。
私は Android 2.2 でコーディングしており、アニメーションのフィッピングに関するこの例を使用しています: android-animaions-3d-flip
でも行き詰まって、カードを選んで、その後も続けて別のカードを選んだら、同じだったら両方とも消えてしまいました。このケースは正しく動作します。しかし、それらが異なる場合、2 枚目のカードは表向きではありません。問題は、2 つのアニメーションを同時に開始することにあると思います。以下は、2 枚のカードが異なる場合のコードです。
Flip3dAnimation rotation1 = new Flip3dAnimation(0, -90, centerX1, centerY1);
rotation1.setDuration(250);
rotation1.setFillAfter(true);
rotation1.setInterpolator(new AccelerateInterpolator());
rotation1.setAnimationListener(new DisplayNextView(isFirstImage[flipRid.get(0).x*3 + flipRid.get(0).y ], image11, image12 ));
image12.startAnimation(rotation1);
Flip3dAnimation rotation2 = new Flip3dAnimation(0, -90, centerX2, centerY2);
rotation2.setDuration(250);
rotation2.setFillAfter(true);
rotation2.setInterpolator(new AccelerateInterpolator());
rotation2.setAnimationListener(new DisplayNextView(isFirstImage[flipRid.get(1).x*3 + flipRid.get(1).y ], image21, image22 ));
image12.startAnimation(rotation1); // First card works
image22.startAnimation(rotation2); // Second card not work correctly
助けてください、ありがとう。