在它的中心缩放SKSpriteNode

时间:2013-10-04 13:17:59

标签: objective-c sprite-kit

我有SKSpriteNode。我想让它变大,然后变小。所以我使用了SKAction使用[SKAction scaleTo:]的序列。它的作用是因为精灵有更大的宽度和高度,但即使anchorPoint留给(.5, .5)默认值,它看起来像精灵变大并向右移动,因为它不是'相对于其中心缩放。我假设我做错了什么,因为如果调整x,y听起来有点愚蠢以抵消缩放的影响。

如何完成相对于其中心的扩展?

1 个答案:

答案 0 :(得分:3)

这似乎按预期工作

SKSpriteNode *myRec = [SKSpriteNode spriteNodeWithColor:[SKColor redColor] size:CGSizeMake(40, 40)];
myRec.position = CGPointMake(150, 150);
[self addChild:myRec];

[myRec runAction:[SKAction repeatActionForever:[SKAction sequence:@[
                                     [SKAction waitForDuration:3.0],
                                     [SKAction scaleTo:2.0 duration:2.0],
                                     [SKAction scaleTo:1.0 duration:2.0],
                                     ]]]];

如果您缩放精灵,请确保一侧没有额外的透明空间。