プロフィール

JaJa

JaJa
ツイニ スマートフォンヲ テニイレタゾ~! ('▽'ノ

...Now Developing
→ちょっと大きいサイズ
ブログ内検索
リンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2012/05/08▼画面フロー実装作業を再開

今日は、一週間前に見つかった最後の3つめのバグ退治。
ごくまれにタッチを離しても、タッチしたままの挙動になってしまうことがある件について。

テストプレイを重ねてみて、レバガチャプレイをするとよく発生することに気付きました。
これで、タイミング系のバグかなーという予想がついたので、判定を行っている部分を中心に探ってみることに。
すると、バグの挙動が発生したタイミングでは、タッチリリースのシグナル自体が発生していないことが判明。

だけども、“なぜ”タッチリリースのシグナルが発生しないのかが分からない。('-';
またしても、ツールのデバッガ機能の助けを借りながら、全てのタッチ情報を少しずつ追跡していると……原因に気付きました。

結果的にタッチ情報の仕様なんですが、同じフレーム(1/60とか1/30秒の処理時間単位)において、タッチのリリースと別のタッチ入力が同時に行われると、それは……

×:それまでのタッチAがリリースされた → そして、新たに別のタッチBが入力された

ではなく、

○:それまでのタッチAが現在進行形で今も続いている
  (タッチAはリリースされてもいないし、新たなタッチBなんて入力されてもいない)

と内部で解釈されていて、それがデバイスのタッチ情報として出力されてくるみたいなのです。
具体的には、この操作間でタッチIDが変わらないため、同一のタッチ情報であると認識してしまっていたのでした。

……とまあ、これで原因は判明したのですが、この内部動作自体は仕様であるため、ロジック(自作のプログラム)側での対応が必要となります。
タッチ処理の部分をこの仕様に合わせて作り変えることで、タッチリリース抜けのバグは無事無くなりました!('▽'ノ
これにて、ようやくメニュー画面の画面フロー実装作業を再開できます。

画面フロー実装作業は急ピッチで。
その後はとくに大きな問題も起きず、なんとか今日中に終わらせることができました!

20120508.jpg
▲画面デザインの実装が未だなので真っ黒な画面ですが、左下のデバッグ表示で内部状態がタッチ操作によってフロー通りに変化するのを確認。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。