ほとんどの人が私がやろうとしていることを理解してくれると思うので、コードを省略することにしました。
基本的に、アクティビティの onCreate にプログラムで追加された Layout、TextView、および GameGraphics と呼ばれるカスタム ビューがあります。GameGraphics ビューは、すべてのインタラクションと描画 (基本的なゲーム) が行われるカスタム ビューです。TextView には、スコアや currentPlayer のターンなどの情報が表示されます。
ゲームの全体的なやり取りは、OnTouchListener を追加した GameGraphics のコンストラクター内から発生します。
this.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
// ALL GAME LOGIC GOES HERE
}
return true;
}});
ここで、カスタム ビューで画面全体を使い果たし、テキスト フィードバックをキャンバスに描画することができますが、学習のために TextView を使用したいと考えています。そのため、ゲームの進行に合わせて TextView テキストを変更する方法、つまり GameGraphics カスタム ビュー内から変更する方法を見つけようとしています。したがって、最終的には、TextView にカスタム GameGraphics ビューを「リッスン」させ、スコア、currentPlayer などの変数で再描画させようとしています。
私がやろうとしている方法がうまくいかないことは理解しています...ビューがまだ描画されている間に別のビューにそれ自体を再描画するように依頼するビューを取得することはできないと思います...またはそのようなもの。
私は本当にアイデアがありません。誰かがボタンを持っているという行に沿って何かを教えてくれたらどうすればよいかを理解できると思います。そのボタンが押されると、TextView のテキストが別のものに変わります。これは最終的に私がやろうとしていることだと思いますか?
その間ずっと探します…