2014-09-29 47 views
1

我有一個圖像[email protected]尺寸1240 x 1240像素或620 x 620點。 我想用於所有iPhone型號(不同的屏幕尺寸)。我只想調整它的大小,但我無法弄清楚如何正確地做到這一點。iOS SKSpriteKit:調整大小SKSpriteNode

這裏是去錯了:

let sprite = SKSpriteNode(imageNamed:"mySprite") 
sprite.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) 

println(sprite.size) 
sprite.size = CGSize(width: 300, height: 300) 

println(sprite.size) 
println(self.view?.frame.size) 
self.addChild(sprite) 

下面是測試日誌在iPhone 4S上:

(620.0,620.0) 
(300.0,300.0) 
Optional((480.0,320.0)) 

日誌看起來不錯,但在屏幕上,我可以看到圖像比iPhone大4S寬度。它的寬度和高度(這是一個正方形)幾乎和iPhone 4的屏幕高度一樣高(約440點)。

場景比例模式爲AspectFill。 場景和精靈xScaleyScale = 1.0

我不明白我在做什麼錯。

回答

1

根據視圖框架中的日誌消息,寬度爲480,高度爲320,這意味着您的視圖處於橫向模式。

如果您SKScene的大小設置爲在縱向模式視圖的大小,使用的scaleMode AspectFill將伸展場景的寬度從320到480

這意味着你的SKSpriteNode會顯得450pts而不是300pts。

您可能想用SKSceneScaleModeResizeFill代替?

+0

太棒了!謝謝。我試圖改變它,但現在我改變它在viewController,它有幫助! – 2014-09-29 14:50:18