ゲームの最後に「ゲームオーバー」テキストを表示させ、タッチ時にself.stageにaddeventlistenerを追加しました。これに触れると、ゲームの最初の画面をロードするイベント関数を実行する必要があります。ただし、最初の画面では、画面の中央でクリックして、独自のタッチイベントを持つテキストを再生します。
シミュレーターでは、ゲームオーバー画面の画面中央をクリックすると、クリックしてプレイするイベントも自動的に記録され、ゲームが開始されます。
-ゲーム開始時に[selfremoveAllChildren]を使用しているので、クリックしてプレイするイベントハンドラーが固執するとは思いません。また、同じ領域をクリックしてゲームプレイ中にテストしましたが、クリックしてプレイするためのタッチイベントレコードは正しくありませんでした。
編集:
私はこれを回避しましたが、それが最適な解決策であるかどうかはわかりません。
NSTimerを使用して、しばらくしてからoneventtouchを開始しました
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(attachEventToStart:) userInfo:startTextField repeats:NO];
次に、attachEventToStartで:
-(void)attachEventToStart:(NSTimer *)theTimer
{
SPTextField *startTextField = [theTimer userInfo];
[startTextField addEventListener:@selector(gameStartOnTouch:) atObject:self forType:SP_EVENT_TYPE_TOUCH];
}
これはうまくいきました、誰かがより良い解決策を持っているなら素晴らしいでしょう