在cocos2d上调用我的方法一些金额

时间:2013-02-03 22:21:54

标签: ios xcode cocos2d-iphone call schedule

我有一个方法可以在屏幕上使用动画效果绘制一个精灵, 如果我在init中调用这个方法

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

然后他在我的项目上做了一次

我按计划打电话

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

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

它无限次运行

我需要这样我可以调用我的方法一些金额

1 个答案:

答案 0 :(得分: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。