リプレイレベルボタンがあります。ユーザーがこのリプレイ レベル ボタンを押すと、レベルをリセットするためにすべてのゲーム プロパティをリセットします。しかし、これでは十分ではありません。また、レベルをまったく新しいものに見せたいので、モーダル セグエのクロス ディゾルブ アニメーションとまったく同じように、View Controller にアニメーションを追加したいと考えています。これを行うために、このコードを replayLevel メソッドに追加しました。
-(IBAction)replayLevel:(id)sender
{
//reset my levels properties
[self resetGameProperties];
//add the cool modal cross dissolve animation
CATransition *transition =[CATransition animation];
transition.duration=.5;
transition.type=kCATransitionFade;
transition.delegate=self;
[self.view.layer addAnimation:transition forKey:nil];
self.view.hidden=YES;
self.view.hidden=NO;
}
また、インターフェースファイルに追加することを思い出しました
#import <QuartzCore/QuartzCore.h>
ビルドして実行すると、このエラーメッセージが表示されることを除いて、すべてが問題ないように見えました
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CATransition", referenced from:
objc-class-ref in ViewController.o
"_kCATransitionFade", referenced from:
-[ViewController replayButton:] in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
モーダル クロス ディゾルブ セグエを複製するコードが悪い場合は、それを行う方法についてさまざまな意見を喜んで受け入れますが、それ以外の場合は、誰かがこのエラーを取り除くのを手伝ってくれませんか?
どんな助けもとても役に立ちます!