Unity備忘録 | satoshiのブログ

satoshiのブログ

ブログの説明を入力します。

■■質問

 ■入力(Input)がキューイングされるのかと言う事について教えてください。

  以下のような流れでゲームが進行しています。
   ●メインシーン→ダウンロード→ゲームシーン

  ダウンロードしている時に、タップ・スワイプ等をめちゃくちゃ連打すると
  連打していた時の入力イベントがゲームシーンへ移った時に
  上がってきているようで勝手にゲームが進行してしまいます。


  ●スペックの低い端末だと入力がキューイングされると言う認識で
   あっているのでしょうか?

  ●公式リファレンスをみると、
   touch[]に入力リストがあるようなのでこれをクリアできないものでしょうか?

  以上、よろしくお願いします。
  [ バージョン ] 4.3.3f1
  [ プラットフォーム ] Nexus7 Android4.3


■■回答



 ●スペックの低い端末だと入力がキューイングされると言う認識で
  あっているのでしょうか?

 私共の方では次のように認識しております。

 「Unity のメインスレッドが一定期間停止した場合、その停止期間中に発生した入力イベントのうち、いくつかはメインスレッドの復帰後に拾われる可能性がある」

 ご質問内容では「ダウンロード」となっておりますが、これがメインスレッドの停止を伴うようなものであった場合、結果的に入力がキューにためられたかのような挙動を見せる可能性があるかもしれません。


 ●公式リファレンスをみると、
  touch[]に入力リストがあるようなのでこれをクリアできないものでしょうか?

 申し訳ございませんが、これをスクリプト側からクリアする仕組みはありません。

 最もシンプルな改善方法としては、メインスレッドが一定期間停止する事が考えられるタイミングの直後では、少しの間、スクリプトの方で入力を無視するような処理にしておいて頂く、というものが考えられます。