我有一个方法可以在屏幕上使用动画效果绘制一个精灵, 如果我在init中调用这个方法
if( (self=[super init]) ) {
// ....
[self myMethod];
// .....
}
然后他在我的项目上做了一次
我按计划打电话
-(void)schedulMyMethod:(ccTime)dt {
[self myMethod];
}
if( (self=[super init]) ) {
// ....
[self schedule:@selector(schedulMyMethod:) interval:0.5];
// .....
}
它无限次运行
我需要这样我可以调用我的方法一些金额
答案 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。