这就是我想要做的。
我有一个精灵,它在60秒内不断缩小。当碰撞发生时,这个精灵的比例增加了1.5。
-(void) update: (ccTime) deltaTime
{if(CGRectIntersectsRect([randomSprite boundingBox], [other boundingBox])) {
[SAE playEffect:@"collisionSoundEffect.mp3"];
[randomSprite runAction:[CCScaleBy actionWithDuration:3 scaleX:1.5 scaleY:1.5]];问题是,当3秒后,它的‘爸爸’回到大小,它将是如果碰撞没有发生。
当然更小。
我想让雪碧做的是在碰撞后留下 newSize。然后让精灵继续缩小它的规模。
任何帮助或指导都是非常感谢的。
谢谢。
[thisSpriteIsConstatnlyScalingDown runAction:[CCScaleBy actionWithDuration:60 scaleX:.01 scaleY:.01]];我试图保持新的规模,并开始缩小从这再次。
发布于 2012-08-08 12:39:10
如果要缩放到绝对缩放因子,请不要使用CCScaleBy。使用CCScaleTo代替。
CCScaleBy的问题是,如果你的比例是1.5,而你缩小了0.5,你就会得到1.0。但是,如果由于某种原因,当节点缩放为1.2时,标度会被中断并再次执行,那么最终您将完成从1.2到0.7的缩放。
最后,如果您想确保在完成缩放之后使用特定的缩放因子,请创建一个CCSequence,它的末尾有一个CCCallFunc或CCCallBlock,并手动地将缩放因子设置为一个特定的值。
https://stackoverflow.com/questions/11856008
复制相似问题