【问题标题】:scaling an SKSpriteNode on it's center在其中心缩放 SKSpriteNode
【发布时间】:2013-10-04 13:17:58
【问题描述】:

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

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

【问题讨论】:

  • 从我的使用情况来看,它可以从中心很好地扩展 - 生病发布演示代码

标签: objective-c sprite-kit


【解决方案1】:

这似乎按预期工作

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

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

【讨论】:

  • 感谢代码示例。这就是我所做的,只是我在场景中运行动作而不是精灵。当我觉得自己像个白痴时,我讨厌它。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多