Спрайты в моей игре SpriteKit, хотя и правильно масштабируются, в моих сценах становятся очень маленькими. Я слежу за несколькими различными учебниками, используя спрайты с одинаковым размером, и они отлично масштабируются в симуляторе. Ниже приведены фрагменты кода и скриншоты. Например, кнопка паузы в правом верхнем углу экрана сумасшедшая, но фактические разрешения активов являются стандартными по размеру.Спрайты SpriteKit не масштабируются должным образом
GameScene.swift
private let pauseTex = SKTexture(imageNamed: "PauseButton")
...
private func setupPause() {
pauseBtn.texture = pauseTex
pauseBtn.size = pauseTex.size()
pauseBtn.anchorPoint = CGPoint(x: 1.0, y: 1.0)
pauseBtn.position = CGPoint(x: size.width, y: size.height)
pauseBtn.zPosition = Layer.Foreground.rawValue
worldNode.addChild(pauseBtn)Btn)
...
}
GameVC.swift
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
...
if let skView = self.view as? SKView {
if skView.scene == nil {
let aspectRatio = view.bounds.size.height/view.bounds.size.width
let scene = MenuScene(size: CGSize(width: 750, height: 750 * aspectRatio))
scene.scaleMode = .aspectFill
skView.ignoresSiblingOrder = true
...
}
}
}
Вы установили свойство 'size' узла? –
Вы хотите установить размер сцены в соответствии с размером окна на устройстве, а затем настроить свои объекты так, чтобы размер был в зависимости от фактического размера экрана (проценты просты). Вы должны явно настроить его. – MoDJ
Какой размер 1x графики 2x и 3x, они должны быть правильными кратными – Knight0fDragon