1

cocos2D を使用してゲームを開発しており、viewController クラスであるホーム ビューから gameScene に移行しています。ホーム画面で UIButtons を使用してCATransitionおり、ビューが表示されたときにアニメーションを使用してボタンを表示しています。ゲームシーンがロードされたときにホームビューを解放していません。ホーム ビューはゲーム シーンの背後にあります。そしてゲームシーンが終了したら、ゲームシーンを非表示にしてホームシーンを表示します。

これはボタンを作成するコードです:

// Play Button
btnPlay = [[UIButton alloc]init];
btnPlay.frame = CGRectMake(65,95,124,50);
[btnPlay addTarget:self action:@selector(btnPlayAction) forControlEvents:UIControlEventTouchUpInside];
[btnPlay setBackgroundColor:[UIColor clearColor]];
[btnPlay setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btnPlay setHidden:YES];
btnPlay.titleLabel.font = [UIFont fontWithName:@"NoteWorthy" size:25.0f];
[btnPlay setBackgroundImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
[self.view addSubview:btnPlay];
[btnPlay setShowsTouchWhenHighlighted:YES];

CATransitionこれはボタンのコードです:

CATransition *animation3 = [CATransition animation];
[animation3 setDuration:3.0f];
[animation3 setType:kCATransitionReveal];
[animation3 setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[btnPlay layer] addAnimation:animation3 forKey:@"SwitchToView"];

[btnPlay setHidden:NO];

いくつかのリプレイでは、移行はうまくいきます。しかし、ゲームをさらに数回リプレイkCATransitionRevealすると、ときどき kCATransitionFromLeft が発生することがあります。しかし、私はkCATransitionFromLeft自分のコードでは使用していません。それはどのように起こっていますか?

助けてくれてありがとう。

4

0 に答える 0