ゲーム終了時に "game over"というテキストを表示させ、タッチ時にself.stageにaddeventlistenerを追加しました。これがタッチされると、ゲームの最初の画面をロードするイベント関数を実行する必要があります。しかし、画面の中央にある最初の画面では、独自のタッチイベントを持つテキストを再生するためにクリックします。IOS Sparrow Framework:ダブルタッチを防止する方法
シミュレータでは、画面上で画面の中央をクリックすると、自動的にクリックイベントのイベントが記録され、ゲームが開始されます。
- ゲーム開始時に[self removeAllChildren]を使用しているため、クリックしたイベントハンドラがついているとは思いません。また、同じエリアをクリックしてゲームプレイ中にテストし、クリックして再生するためのタッチイベントレコードは正しく表示されませんでした。
編集:
私はそれが最適解だ場合は必ず、このための回避策を作ったが、ありません:
私はNSTimer
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(attachEventToStart:) userInfo:startTextField repeats:NO];
を使用して、時間の間隔の後のonEventタッチスタートを切りましたattachEventToStart:
-(void)attachEventToStart:(NSTimer *)theTimer
{
SPTextField *startTextField = [theTimer userInfo];
[startTextField addEventListener:@selector(gameStartOnTouch:) atObject:self forType:SP_EVENT_TYPE_TOUCH];
}
これは、誰かがより良い解決策が得られるでしょう
をし、それがタッチイベントを削除する必要がありますが、それはないでしょうか?画面上でゲームに触れた後、タッチイベントをクリックして再生する開始画面の負荷と、遅延がない場合にクリックして受け取ったイベントをタッチするので、それが起こっているようです。 key_upイベントと似たtouch_upがありますか?間違ったタッチイベントをトラップしている可能性があります。 –
あなたは、画面上のゲームがゲームの開始画面の上に追加されていないというのに、開始画面が画面から削除され、画面上のゲームが画面に追加されたと言っています。あれは正しいですか?この問題が発生したときに追加コードを投稿してください。私たちはそれを理解できると確信しています。 – EmphaticArmPump
はい、最初の開始画面、次にゲームプレイ、画面上のゲーム、次に開始画面を除きます。各画面で[self removeAllChildren]で削除します。私は私のMacに行くときに私はより多くのコードを投稿します。 –