iOS SKSpriteKit:调整SKSpriteNode的大小
我有一个形象mySprite@2x.png它的尺寸为1240 x 1240像素或620 x 620点。 我想将它用于所有iPhone型号(不同的屏幕尺寸)。我只想调整它的大小,但我不知道如何正确地做到这一点 以下是问题所在:iOS SKSpriteKit:调整SKSpriteNode的大小,ios,iphone,swift,resize,sprite-kit,Ios,Iphone,Swift,Resize,Sprite Kit,我有一个形象mySprite@2x.png它的尺寸为1240 x 1240像素或620 x 620点。 我想将它用于所有iPhone型号(不同的屏幕尺寸)。我只想调整它的大小,但我不知道如何正确地做到这一点 以下是问题所在: let sprite = SKSpriteNode(imageNamed:"mySprite") sprite.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) pri
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宽。它的宽度和高度(它是一个正方形)几乎和iPhone4的屏幕高度(大约440分)一样高
场景缩放模式是AspectFill
。
场景和精灵xScale
和yScale
=1.0
我不明白我做错了什么 根据来自视图框架的日志消息,宽度为480,高度为320,这意味着您的视图处于横向模式 如果将场景的大小设置为纵向模式下的视图大小,则使用scaleMode
AspectFill
将场景的宽度从320拉伸到480
这意味着你的SKSpriteNode看起来是450分而不是300分
您可能想改用
SKSceneScaleModeResizeFill
?太好了!谢谢我试图更改它,但现在我在viewController中更改了它,这很有帮助!