私は15パズル(http://en.wikipedia.org/wiki/Fifteen_puzzle)ゲームを作っています。私はユーザーが背景イメージを選択するためのアクティビティを持っています。画像を拡大して切り抜くためにその画像を新しいアクティビティに渡します。私のUIスレッドが正しくスリープ状態にならなかった
は今、私はそれは、私が使用しているシャッフルう3秒間最初のユーザーに解決策を示したいと思います。このようなコード:私のスタートで、その後
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//...skip the code that gets the image and scales it
start();
}
()funcion:
public void start() {
//the createPuzzle function would create all the Views(tiles)
//and add them to the root LinearLayout using addView() function
createPuzzle(game.getBoardConfig(), dimension);
//i was trying to sleep here
shuffle();
}
私が使用:
try {
Thread.sleep(3000);
} catch (InterruptedException e) {}
か:
をSystemClock.sleep(3000);
どちらも正しく動作していませんが、画像を選択した直後にスレッドがすべて一時停止し、一時停止したときに新しいアクティビティと作成したタイルは表示されません。スレッドが再開すると、すでにシャッフルされたパズルが表示されていました。
私はかなり長い間ドキュメントを見てきましたが、私のコードに何が間違っているか把握できませんでした。
ありがとうございます!シャッフルをスケジュールする前にタイマーを使用しようとしましたが、うまくいきません。私はこれらのオブジェクトのより良い理解を得るべきだと思う。とにかくありがとうございました! – QQending
@QQending、大歓迎です。内部のいくつかの説明については私のblogpostをチェックしてください:http://levinotik.com/2012/01/loopers-handlers-runtimeexceptions-explained/ – LuxuryMode