Я пытаюсь вызвать функцию, содержащую ccactioninterval в Cocos3d. Я хочу вызывать эту функцию через определенные промежутки времени. Когда я попробовал NSTimer , я обнаружил, что иногда она работает, а иногда нет.
NSTimer makeTarget=[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(createTargets) userInfo:nil repeats:YES];
Здесь createTargets — это функция, содержащая события действий. когда я запускаю функцию прямо, она отлично работает один раз. Проблема возникает, когда я пытаюсь запланировать это. Я пробовал различные методы, которые уже объяснялись для связанных вопросов. Но у меня ничего не получалось. . . .
Вот код
-(void) addTargets {
NSTimer *makeTarget = [NSTimer scheduledTimerWithTimeInterval:2.0
target:self selector:@selector(createTargets) userInfo:nil repeats:YES];
}
-(void)createTargets {
CC3MeshNode *target = (CC3MeshNode*)[self getNodeNamed: @"obj1"];
int minVal=-5;
int maxVal=5;
float avgVal;
avgVal = maxVal- minVal;
float Value = ((float)arc4random()/ARC4RANDOM_MAX)*avgVal+minVal ;
[target setLocation:cc3v(Value, 5.0, 0.0)];
CCActionInterval *moveTarget = [CC3MoveBy actionWithDuration:7.0 moveBy:cc3v(0.0, -10.0, 0.0)];
CCActionInterval *removeTarget = [CCCallFuncN actionWithTarget:self selector:@selector(removeTarget:)];
[target runAction:[CCSequence actionOne:moveTarget two:removeTarget]];
}
-(void)removeTarget:(CC3MeshNode*)targ {
[self removeChild:targ];
targ=nil;
}
CCTimer
? - person Wain   schedule 22.06.2013target
? - person Wain   schedule 27.06.2013createTargets
(+ любой другой соответствующий код, который он вызывает). 2) Какие именно части кода вызываются, а какие нет (используйтеNSLog
s). 3) Каковы ваши симптомы. 4) Контекст создания вашегоNSTimer
(вы создаете несколько таймеров?) - person Robert   schedule 02.07.2013