我正在使用SpriteKit开发通用游戏(iPhone和iPad),我遇到背景大小问题。 我为尺寸为1136x852的iPhone设备创建了大小为2048x1536的图像和更多图像,并且仍然在iPhone上裁剪了背景。 我该如何解决?
let screenHeight = screenSize.size.height
//Backgorund
var dayBackground = SKSpriteNode(imageNamed:"BackgroundDay")
dayBackground.zPosition = -1
dayBackground.position = CGPoint(x:size.width/2, y:size.height/2)
dayBackground.anchorPoint = CGPointMake(0.5, 0.5)
dayBackground.size = self.frame.size
GameViewController:
if let scene = GameScene(fileNamed:"GameScene") {
// Configure the view.
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
@ 1x大小为2048x1536,@ 3x大小为1136x852
感知尺度是.AspectFill
,.ResizeAll
SKSprtieNode的位置不像我想要的那样。
谢谢!
我试图将图像分割成部分但仍然被裁剪 我认为是因为iPhone 6 plus屏幕尺寸为736x414,场景尺寸为1024x768,如果我将场景更改为当前设备,我需要为每个屏幕定位精灵
答案 0 :(得分:0)
设备的屏幕尺寸比率不同,并且必须拉伸尺寸以适应屏幕,这可能看起来很奇怪。但如果你确定喜欢这个选项,你可以使用.Fill。最顺畅的选择是继续使用.AspectFill并为每个屏幕尺寸创建一个图像。要有创意!祝你好运!