元々バリバリのマシンパワーを使うような3Dゲームを作るつもりはないけど、CPU使用率を見ながら格闘しつつ、シーン制御を実装した。
考慮した点
- 画像の描画のあるなしがやっぱりでかいので、描画するのはそのシーンで必要なSurfaceに限ることにする。つまり、直前のシーンのSurfaceを下に描いておいて、更に現在のシーンのSurfaceで上書きする、といったことはしない。
もっと言うと、Rectの生成も極力フレーム毎に生成するようなことは避けるようにしたい。 - 各シーンクラスは実体は一つにする。
- 各シーンクラスのupdateメソッドで次のシーンのIDを返す。
2番目と3番目にいたるまでに色々と試行錯誤した。遷移元のシーンで次のシーンのインスタンスを作るような実装だと、importがループになってしまったり…。