1

メソッドをスケジュールするときにエラーが発生しました。(スコアに応じて取得した星の数を表示します。addStar0addStar1addStar2 addStar3メソッドがあります)

[self schedule:@selector(addStar0) interval:0.2f];

方法は次のとおりです。

-(void) addstar0 {
    [self unschedule:_cmd];

    if (star > starProgress) {
        starProgress++;
        [self schedule:@selector(addStar1) interval:0.5f];
    }
    else {
        [self schedule:@selector(displayResult) interval:0.5f];
    }

}

エラーメッセージ:

Signature not found for selector - does it have the following form? -(void) name: (ccTime) dt

すべてのメソッドをaddStar1:(ccTime)deltaとscheduleに変更してみました:@selector(addStar :)間隔:0.2fですが、それでも同じです。(実際、私は両方の方法を使用して(パラメーターあり/なしで)スケジュールを設定しましたが、両方とも前回のプロジェクトでうまく機能しました。)

また、奇妙なことに、[セルフスケジュール:何か]を使用できないことがありますが、[CCScheduler sharedScheduler]スケジュール:何か]は正常に機能します。プロジェクトの設定かそこらかもしれないと思いますか?

コードで答えてください。ありがとうございました。

4

3 に答える 3

3

セレクターに「addStar0」を使用しています

[self schedule:@selector(addStar0) interval:0.2f];

それから

-(void) addstar0 {

する必要があります

-(void) addStar0 {
于 2011-06-06T04:01:25.953 に答える
0

私はあなたのエラーが実際に起こっていると思います[self unschedule:_cmd];

_cmdはどこで定義されていますか?その行をコメントアウトして、もう一度実行してみてください。

于 2011-06-06T03:33:53.443 に答える
0

[self unschedule:_cmd];elseステートメントの後に置く

于 2011-06-06T03:55:40.510 に答える