我有一个SKSpriteNode
. 我想让它自己变大然后变小。所以我使用了一系列SKAction
using [SKAction scaleTo:]
。它之所以有效,是因为精灵具有更大的宽度和高度,但即使anchorPoint
保留(.5, .5)
默认值,精灵看起来也会变大并向右移动,因为它没有相对于其中心进行缩放。我假设我做错了什么,因为如果不得不调整 x,y 以抵消缩放的影响听起来有点傻。
如何实现相对于其中心的缩放?
我有一个SKSpriteNode
. 我想让它自己变大然后变小。所以我使用了一系列SKAction
using [SKAction scaleTo:]
。它之所以有效,是因为精灵具有更大的宽度和高度,但即使anchorPoint
保留(.5, .5)
默认值,精灵看起来也会变大并向右移动,因为它没有相对于其中心进行缩放。我假设我做错了什么,因为如果不得不调整 x,y 以抵消缩放的影响听起来有点傻。
如何实现相对于其中心的缩放?
这似乎按预期工作
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],
]]]];
如果您缩放精灵,请确保它的一侧没有额外的透明空间。