カテゴリー:Titaniumゲームアプリで次の処理に行く前にちょっと間を置きたいときがよくありますC言語には標準でsleep関数というものがあって、指定した時間で処理を一時停止してくれます。残念ながらTitaniumのAPIにもJavascriptにも処理を一時停止してくれる関数がありません。sleep関数の実装ということで無いものは作るしかありません。ネットで調べたらいろいろとコードが出てきます。私がいつもつかっているのは次のような処理です。要するに時間を記録して、一定の時間になるまでループ処理をしておくという方法です。注意点このsleep関数はとても便利なんですが、私が使っていてはまったこと(バグの原因となったこと)があります。それはTitaniumでsleep関数を使うと、処理は一時停止できるのですが停止中の間もタッチイベントなどの処理は受け付けているようです。そのため、処理を止めているあいだに画面を何回もタッチすると、sleepが終わって処理が再び動き出すときにタッチイベントがタッチされた回数分まとめて呼び出されます。このイベント処理が重ための処理にしているといっせいに呼び出されたときにフリーズしてしまうことがあります。タッチイベントも受け付けないようにするにはTitaniumで上記のような問題を回避するために、sleep関数の処理の最初にイベントがないviewを貼付け、sleep関数の処理が終わるときにviewを外すという方法によって、他のviewのタッチイベントを発生させないようできます。※もっと賢いやり方があるかもしれませんなお、sleep処理中はsetInterval関数などのタイマー系処理も停止します。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト上に表示された文字を入力してください。technology.。