2013-10-04 43 views
0

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

如何实现相对于其中心的缩放?

+0

从我的用法它从中心缩放很好 - 生后发表演示代码 – DogCoffee

回答

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], 
            ]]]]; 

如果您缩放一个精灵,确保不会有多余的透明空间断过一面工作。

+1

感谢您的代码示例。这就是我所做的,除了我在场景中运行动作而不是精灵。当我觉得自己像个白痴时,我讨厌它。感谢您的帮助。 – mprivat