在cocos2d中获取发件人对象

时间:2013-04-05 06:42:11

标签: iphone objective-c xcode cocos2d-iphone ccsprite

我正在使用cocos2d制作游戏。通过使用以下代码,我添加了一个动画。如何发送CCSprite引用?

if(sprite != monkey)
{
    [self scheduleOnce:@selector(animate_sprite:) delay:0.1f];
}

-(void)animate_sprite:(ccTime) dt
{
    id s2 = [CCScaleTo actionWithDuration:0.5 scaleX:2.0 scaleY:2.0];
    id fun = [CCCallFuncN actionWithTarget:self selector:@selector(spriteDone:)];
    [sprite runAction:[CCSequence actions:s2,fun,nil]];
}

如何在animate_sprite方法中获取精灵参考?

1 个答案:

答案 0 :(得分:1)

你可以使用performSelector:withObject:afterDelay这也可以做同样的事情。

if(sprite != monkey)
{
    [self performSelector:@selector(animate_sprite:) withObject:sprite afterDelay:0.1f];
}

-(void)animate_sprite:(CCSprite *)sprite
{

    id s2 = [CCScaleTo actionWithDuration:0.5 scaleX:2.0 scaleY:2.0];
    id fun = [CCCallFuncN actionWithTarget:self selector:@selector(spriteDone:)];
    [sprite runAction:[CCSequence actions:s2,fun,nil]];
}

因此,只需编辑您的方法以使用精灵而不是ccTime对象,因为您根本不使用它。