クラス間でのデータの受け渡しについて
Posted: 2013年7月03日(水) 02:20
Androidの館を参考にしてAndroidで動くシューティングゲームの制作を目指しソースコードを書いています。
Androidの館のイライラ棒アプリ制作の”s2.04 自機を作る”あたりまでのソースと構成をほぼ完全に利用して、自機のクラスと自機画像の表示の機能まで作りました。
次にタッチを利用した自機の移動をさせたいと思っています。
タッチイベントを受け取るonTouchEventをSurfaceViewを継承したGameSurfaceViewクラスでオーバーライドし、
GameSurfaceViewクラスはあまりごちゃごちゃとさせたくなかったので、タッチ入力を処理する自作のTouchInputクラスを作りました。
それをGameSurfaceViewクラスのメンバに加え、イベントの内容だけ送るようにしました。
このTouchInputクラスのメンバに、同じくGameSurfaceViewのメンバであるGameMgrクラスのメンバであるUnitクラス(自機)からアクセスしたいと思っています。
SurfaceViewからGameMgrにTouchInputのインスタンスを渡し、さらにGameMgrから毎ループごとにsetメソッドかなにかを用意してTouchInputをUnitクラスに渡す方法を思いついたのですが、
もっとスマートな書き方ができるような気がしてあれこれ考えてみたのですがこの方法しか思いつきません。
もっとスマートな書き方があるのか、もしくは皆様ならどう書くかを知りたいです。よろしくお願いします。
Androidの館のイライラ棒アプリ制作の”s2.04 自機を作る”あたりまでのソースと構成をほぼ完全に利用して、自機のクラスと自機画像の表示の機能まで作りました。
次にタッチを利用した自機の移動をさせたいと思っています。
タッチイベントを受け取るonTouchEventをSurfaceViewを継承したGameSurfaceViewクラスでオーバーライドし、
GameSurfaceViewクラスはあまりごちゃごちゃとさせたくなかったので、タッチ入力を処理する自作のTouchInputクラスを作りました。
それをGameSurfaceViewクラスのメンバに加え、イベントの内容だけ送るようにしました。
このTouchInputクラスのメンバに、同じくGameSurfaceViewのメンバであるGameMgrクラスのメンバであるUnitクラス(自機)からアクセスしたいと思っています。
SurfaceViewからGameMgrにTouchInputのインスタンスを渡し、さらにGameMgrから毎ループごとにsetメソッドかなにかを用意してTouchInputをUnitクラスに渡す方法を思いついたのですが、
もっとスマートな書き方ができるような気がしてあれこれ考えてみたのですがこの方法しか思いつきません。
もっとスマートな書き方があるのか、もしくは皆様ならどう書くかを知りたいです。よろしくお願いします。