製作中のブロック崩しですが、最近は外周りをあれこれと実装していました。
仮タイトルっぽい感じで待機したり、
Backキーでポーズをかけたり。
ブロックが消える時のエフェクトを入れてみたり。
結構完成に近づいているかも!
今回は2点でハマりました。
1つ目はキーイベント関係で、Activity側はイベントが来るのですが、GLSurfaceView側には来なくなる時があり悩みました。
勉強不足で理由はわかりませんが、setFocusableInTouchMode(true)を呼ぶことで解決できました。
Activity側のイベントでしかBackキーの処理をキャンセルすることができないっぽいのも微妙に困りました。
2つめはIS01特有の悩みで、蓋を閉じたスリープ後の復帰時に画面が更新されなくなってしまう現象の対応です。
色々調べた結果、バックライトを点灯させたままにするsetKeepScreenOn(true)を呼んでいたためでした。
これが呼んであるとGLSurfaceViewがスリープが来た時の処理がうまくできないみたいで、蓋を閉じると強制的にスリープ状態になるIS01だとバグってしまします。
setKeepScreenOn(true)を使わないことで復帰できるようになりました。