魁!豚トロ工房

古いビルの屋上で木工を楽しんでいます

ブロック崩し

製作中のブロック崩しですが、最近は外周りをあれこれと実装していました。

仮タイトルっぽい感じで待機したり、

Backキーでポーズをかけたり。

ブロックが消える時のエフェクトを入れてみたり。
結構完成に近づいているかも!


今回は2点でハマりました。
1つ目はキーイベント関係で、Activity側はイベントが来るのですが、GLSurfaceView側には来なくなる時があり悩みました。
勉強不足で理由はわかりませんが、setFocusableInTouchMode(true)を呼ぶことで解決できました。
Activity側のイベントでしかBackキーの処理をキャンセルすることができないっぽいのも微妙に困りました。


2つめはIS01特有の悩みで、蓋を閉じたスリープ後の復帰時に画面が更新されなくなってしまう現象の対応です。
色々調べた結果、バックライトを点灯させたままにするsetKeepScreenOn(true)を呼んでいたためでした。
これが呼んであるとGLSurfaceViewがスリープが来た時の処理がうまくできないみたいで、蓋を閉じると強制的にスリープ状態になるIS01だとバグってしまします。
setKeepScreenOn(true)を使わないことで復帰できるようになりました。

■注意■  当ブログに記載されている製作・改造などの情報は、危険を伴う場合もありますので自己責任での利用をお願いします。