如何在XCODE中延迟INIT内的动作?

时间:2013-03-14 01:00:22

标签: xcode init

BELOW INIT

yellowbg = [CCSprite spriteWithFile:@"yellowxlixk.png"];
[yellowbg setPosition:ccp(509, 671.75)];
      yellowbg.scale = .75;
[self addChild:yellowbg z: 1];

我如何推迟延迟这个对象?我对此非常陌生,请在解释中作为基础。

1 个答案:

答案 0 :(得分:2)

如果您想在2或3秒后在图层上添加此对象,那么您可以使用此对象..

[self performSelector:@selector(addImageToLayer) withObject:nil afterDelay:2.0]; // specify delay time

这是你的功能:

-(void) addImageToLayer
{
   yellowbg = [CCSprite spriteWithFile:@"yellowxlixk.png"];
   [yellowbg setPosition:ccp(509, 671.75)];
   yellowbg.scale = .75;
   [self addChild:yellowbg z: 1];
}

另一种选择是,你也可以使用这个:

[self schedule:@selector(addImageToLayer) interval:2];

功能: 但是在函数中你必须停止调度程序来调用这个方法。通过上面的代码行每2秒调用一次函数。这就是为什么你必须停止它。

-(void) addImageToLayer
{
   yellowbg = [CCSprite spriteWithFile:@"yellowxlixk.png"];
   [yellowbg setPosition:ccp(509, 671.75)];
   yellowbg.scale = .75;
   [self addChild:yellowbg z: 1];
   [self unschedule:@selector(addImageToLayer)];  //to stop scheduler to calling function repeatedly
}

您可以使用以下任何一种方法来延迟。希望这会有所帮助..