2013-10-04 45 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