-(id) init
{
// always call "super" init
// Apple recommends to re-assign "self" with the "super" return value
if((self=[super initWithColor:ccc4(255,255,255,255)])) {
[UIApplication sharedApplication].idleTimerDisabled = YES;
imageArray = [[NSMutableArray alloc]init];
winSize = [[CCDirector sharedDirector]winSize];
[self addEverything];
[self schedule:@selector(imageBlink) interval:5.0f];
}
return self;
}
-(void)imageBlink{
int tagNum = (arc4random() %9)+1 ;
for (CCSprite *object in imageArray) {
if (object.tag == tagNum) {
[object runAction: [CCSequence actions:[CCBlink actionWithDuration:2 blinks:1],[CCFadeOut actionWithDuration:2], nil]];
[[SimpleAudioEngine sharedEngine]playEffect:@"slap.mp3"];
NSLog(@"blink");
return;
}
}
}
-(void)addImage{
self.imageTag = 1;
for (int i = 0; i <3; i++) {
for (int j =0; j<3; j++) {
image = [CCSprite spriteWithSpriteFrameName:@"0002.png"];
NSLog(@"%d",imageTag);
[image setTag:self.imageTag];
self.imageTag ++ ;
image.position = ccp(STAGE_WIDTH/(3)*(j)+35+41, STAGE_HEIGHT/(3)*(i)+115+41);
[imageArray addObject:image];
[image setVisible:NO];
[self addChild:image z:2];
}
}
}
imaged blink라는 메서드를 5 초마다 호출하도록 예약했습니다. 이 메서드는 배열에서 내 스프라이트를 깜박이는 것처럼 보입니다 (표시 및 사라짐). 그러나 여러 번 호출 (약 10 개 이상) 후에 스프라이트가 깜박임을 멈 춥니 다. 그러나 NSLog "blink"를 통한 출력은 여전히 5s 간격으로 나타납니다. 나는 아이폰 에뮬레이터와 아이팟에이 문제가있다. 도와 주셔서 감사합니다.Cocos2d 여러 번 실행 한 후 CCAction이 중지됩니다.