ポーズ画面の実装が面倒
SKSceneのpaused
プロパティを書き換えるだけなので、
要求によってはあっさり実装することができる。
特定のラベルをボタン代わりにして、
こんなんでも、十分機能する。
-(void)pause { self.paused = !self.paused; // todo: BGMの制御 }
あとは、BGMの再生/一時停止の制御をするだけなんだけど、
いくつか問題がある。
これはiPhone特有の問題なんだけど、
ホームボタンが押された時と、電話が掛かってきたときの処理について。
これらは、ユーザーの意思とは関係なくポーズさせたくて、
何が面倒かというと、ラベルのタッチからも、
外部要因からも同じところで処理したい。
差分としては、ラベルをタッチした場合は、
ポーズ画面に入るときに音を出したい。
ちなみに、paused
プロパティを変更しても、
update
やtouchesBegan
が呼ばれる。
touchesBegan
が呼ばれないとポーズが解除できないから良いとして、
update
は描画前に呼ばれる訳で、
この中で移動させると、ポーズ中でもキャラクターが動いてしまう。
個人的には、ポーズを解除するボタンを点滅させたいんだけど、
どうしてもそれを実装したい場合は、このupdate
で処理することになりそう。
あと、ざっくり5人日くらいですかね!(*1)
おしまい。
(*1) 寝る前に数時間ずつ進めているので、日数に換算すると2〜3倍するのが妥当かな
Leave a Comment