доброго дня) сделала контур дя игры строго по контуру экрана симулятора, на iPhone все нормально но когда переключаю на iPad картинка не соответствует границе экрана
как правильно прописать размеры?
делаю так:
self.scene?.size = CGSize(width: self.view!.bounds.size.width, height: self.view!.bounds.size.height) let size = CGSize(width: 350, height: 1000) let texture = SKTexture(imageNamed: "BackOpora1") let fon = SKSpriteNode(texture: texture) fon.position = CGPoint(x: 160,y: 500) fon.size = size fon.physicsBody = SKPhysicsBody(texture: texture, size: size) fon.physicsBody?.isDynamic = false fon.physicsBody?.affectedByGravity = false addChild(fon)
Размер для iPhone и iPad
Ledik
#1
haymob
#2
У fon size должен быть как у сцены, а не 350х1000:
override func didMove(to view: SKView) {
scene!.size = view.bounds.size
let fon = SKSpriteNode(texture: SKTexture(imageNamed: "BackOpora1"))
fon.size = scene!.size
addChild(fon)
}
Ledik
#3
фон получилось) а вот если обычный объект, его можно как-то увеличить?
let size3 = CGSize(width: 4, height: 70) let textureS3 = SKTexture(imageNamed: "Block3") let Block3 = SKSpriteNode(texture: textureS3) Block3.size = size3 Block3.position = CGPoint(x: (self.view?.frame.size.width)! / 2 - 155, y: (self.view?.frame.size.height)! / 2 - 141) self.addChild(Block3)
haymob
#4
По идее сцена должна быть одинакового размера для всех устройств, нужно удалить:
override func didMove(to view: SKView) {
//scene!.size = view.bounds.size <--
let fon = SKSpriteNode(texture: SKTexture(imageNamed: "BackOpora1"))
fon.size = scene!.size
addChild(fon)
}
Сцена будет растягивайся в зависимости от устройства и объекты на ней тоже.
haymob
#9
Наверно у сцены нужно выставить scaleMode в aspectFill:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
if let scene = SKScene(fileNamed: "GameScene") {
scene.scaleMode = .aspectFill
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
override var prefersStatusBarHidden: Bool {
return true
}
}
haymob
#10
В терминале:
open -n /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
Там всё сложно лучше этого не делать