从CCCallBlock中调用runAction有多安全? 我的代码是:
CCSprite *sprite1;
CCSprite *sprite2;
...Some sprite init stuff...
[sprite1 runAction:
[CCSequence actions:
[CCScaleTo actionWithDuration:1.0 scale:2.0],
[CCCallBlock actionWithBlock:^{
[sprite2 runAction:[CCScaleTo actionWithDuration:5.0 scale:2.0]
}],
[CCScaleTo actionWithDuration:1.0 scale:1.0],
nil
]
];
请注意,sprite1动画将在CCCallBlock中触发的sprite2动画结束之前结束。它崩溃但我不明白为什么。那么,打个电话是否安全(似乎不是,至少这样做)?为什么?如何安全(r)?
顺便说一句,让我的sprite2动画比sprite1短一个不会崩溃,所以我怀疑我的第二个动画是在某个地方发布但是我没有输入它的dealloc()......
THX。
答案 0 :(得分:1)
您编写的代码无法编译FYI。
你在做什么工作得很好。我刚刚修复了您发布的编译错误代码后尝试了。这是我使用的:
CCSprite *sprite1 = [CCSprite spriteWithFile:@"temp.png"];
CCSprite *sprite2 = [CCSprite spriteWithFile:@"temp.png"];
[sprite1 runAction:[CCSequence actions:
[CCScaleTo actionWithDuration:1.0 scale:2.0],
[CCCallBlock actionWithBlock:^
{
[sprite2 runAction:[CCScaleTo actionWithDuration:5.0 scale:2.0]];
}],
[CCScaleTo actionWithDuration:1.0 scale:1.0],
nil]
];
[self addChild:sprite1];
[self addChild:sprite2];