0

リプレイレベルボタンがあります。ユーザーがこのリプレイ レベル ボタンを押すと、レベルをリセットするためにすべてのゲーム プロパティをリセットします。しかし、これでは十分ではありません。また、レベルをまったく新しいものに見せたいので、モーダル セグエのクロス ディゾルブ アニメーションとまったく同じように、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)

モーダル クロス ディゾルブ セグエを複製するコードが悪い場合は、それを行う方法についてさまざまな意見を喜んで受け入れますが、それ以外の場合は、誰かがこのエラーを取り除くのを手伝ってくれませんか?

どんな助けもとても役に立ちます!

4

1 に答える 1

1

QuartzCoreフレームワークをターゲットに追加する必要があります。

Xcode 4で「既存のフレームワークを追加」する方法は?

于 2012-08-03T20:51:35.357 に答える