アクティビティGameActivity
:アプリケーションを最初に開いたときに開いたページ。アクティビティGameMain
:ゲームのプレイアクティビティ。アクティビティGameWin
:次のGameActivity
画面に移動します(最終的には、統計などが表示された「Youwin!」画面が表示されます)
- アプリケーションが開始されます
これがトリガーされます:
button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { Intent intent = new Intent(context, GameMain.class); intent.putExtra("level",1); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); } });
GameMain
これでロードされました。これで、文字、circle
が画面の左側に表示されます。circle
画面の右側に到達すると、ゲームループ内の次のifステートメントが真になります。if ((circle.x+width/2 > end.startx) && (circle.x-width/2 < end.stopx) && (circle.y+circle.size==end.starty-width/2)) { layout.removeAllViews(); Intent intent = new Intent(context, GameWin.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("level",level); finish(); startActivity(intent); }
GameWin
画面はこれを行います:Log.v(TAG,"Goint to level: "+(level+1)); Intent intent = new Intent(context, GameMain.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("level",(level+1)); startActivity(intent); finish();
時々それは機能し、
GameMain
レベルデータを2として使用しますが、レベル画面を通過してレベル2に直接移動した場合よりもかなり遅くなります。時々それは機能し、GameMain
レベルデータを2にして、ページを何度も何度もリロードします。時々、私の電話は再起動します。レベル2を完了する能力がある場合は、そうします。レベル3は、動作するか、リフレッシュするか、電話を再起動すると、さらに遅くなります。
いつでも[ホーム]をクリックすると、ホーム画面に移動しますが、アプリケーションは最後のレベルのに戻り
GameMain
ます(手順6または7に戻ります)。
私は何が間違っているのですか?
APIレベル8、LG P500(2.3.3)
これは問題ではなかったことがわかりました。ゲームループはまだバックグラウンドで実行されていました。