0

我正在使用 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方法中获取精灵引用?

4

1 回答 1

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 对象,因为您根本没有使用它。

于 2013-04-05T06:45:57.713 回答