0

我有一个SKSpriteNode. 我想让它自己变大然后变小。所以我使用了一系列SKActionusing [SKAction scaleTo:]。它之所以有效,是因为精灵具有更大的宽度和高度,但即使anchorPoint保留(.5, .5)默认值,精灵看起来也会变大并向右移动,因为它没有相对于其中心进行缩放。我假设我做错了什么,因为如果不得不调整 x,y 以抵消缩放的影响听起来有点傻。

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

4

1 回答 1

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

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

于 2013-10-04T13:33:13.537 回答