0

このメソッドをinitで呼び出すと、アニメーション効果を使用して画面に1つのスプライトを描画するメソッドがあります。

if( (self=[super init]) ) {
// ....
[self myMethod];
// .....
}

それから彼は私のプロジェクトで一度それをします

スケジュールで電話するとき

-(void)schedulMyMethod:(ccTime)dt {
    [self myMethod];
}

if( (self=[super init]) ) {
// ....
[self schedule:@selector(schedulMyMethod:) interval:0.5];
// .....
}

無制限に実行されます

私のメソッドをいくらか呼び出すことができるようにする必要があります

4

1 に答える 1

0

つまり、N回繰り返してもらいたいということですか?実行するには、残り時間の状態を維持する必要があります。

@property (nonatomic, assign) NSInteger timesToRunMyMethod;


- (void)beginRunningMyMethod {

    self.timesToRunMyMethod = 100;   // N==100
    [self myMethod];
}

- (void)myMethod {

    self.timesToRunMyMethod--;
    // do stuff
    if (self.timesToRunMyMethod > 0) {
        // i used native delayed execution, you can replace it with whatever cocos2d offers if you want
        [self performSelector:@selector(myMethod) withObject:nil afterDelay:0.5];
    }
}

そして、これをinitで開始するのはおそらく間違っています。ビューコントローラですか?次に、viewDidAppearまたはwillAppearを使用できます。

于 2013-02-03T22:41:54.717 に答える