3

私は、小さな画像に分割された画像を持つアンドロイド 1 でスライダー パズルを開発しています。正しい画像を形成するには、これらのピースを注文する必要があります。8 つの画像と 1 つの黒い点を含むグリッド ビュー 3x3 を使用しました。したがって、基本的には、8 つのピースのいずれかに触れると、パズルが有効な動きであるかどうかに応じて、ピースが空白の場所に移動します。これはすべて正常に機能しますが、スライド効果を与えたいと思います。そのため、ピースに触れると、空白の場所にスライドするはずです。onFling メソッドを使用する必要があると思いますが、その方法がよくわかりません。

どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

0

このコードは、時間遅延とスライド画像で実行されています:-

public class SliderActivity extends Activity {

    public int currentimageindex=0;
    Timer timer;
    TimerTask task;
    ImageView slidingimage;

    private int[] IMAGE_IDS = {
            R.drawable.splash0, R.drawable.splash1, R.drawable.splash2,
            R.drawable.splash3
        };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mygame);
        final Handler mHandler = new Handler();

        // Create runnable for posting
        final Runnable mUpdateResults = new Runnable() {
            public void run() {

                AnimateandSlideShow();

            }
        };

        int delay = 1000; // delay for 1 sec.

        int period = 8000; // repeat every 4 sec.

        Timer timer = new Timer();

        timer.scheduleAtFixedRate(new TimerTask() {

        public void run() {

             mHandler.post(mUpdateResults);

        }

        }, delay, period);

    }

    public void onClick(View v) {

        finish();
        android.os.Process.killProcess(android.os.Process.myPid());
      }

    /**
     * Helper method to start the animation on the splash screen
     */
    private void AnimateandSlideShow() {

        slidingimage = (ImageView)findViewById(R.id.ImageView3_Left);
        slidingimage.setImageResource(IMAGE_IDS[currentimageindex%IMAGE_IDS.length]);

        currentimageindex++;

        Animation rotateimage = AnimationUtils.loadAnimation(this, R.anim.custom_anim);

          slidingimage.startAnimation(rotateimage);

    }

}
于 2012-11-01T10:25:27.230 に答える
0

これには、ゲーム エンジンの使用を検討することをお勧めします。アニメーションを処理する価値があり、タイルのアニメーション化はコードの1行と同じくらい簡単です..

tile.MoveTo(newPosition)。

Android には cocos2d をお勧めします。ここで、スライダー パズルの作成に関する詳細なチュートリアルを見つけることができます。

http://denvycom.com/blog/step-by-step-guide-on-how-to-build-your-first-slider-puzzle-game-in-cocos2d-for-android-part-1/

このチュートリアルでは、画像スライダー パズルの作成についても説明しています 。 cocos2d-for-android-part-3-2/#comment-1313951361

于 2014-03-28T20:47:29.973 に答える