Robię pierwszą scenę z SpriteKit w szybkim tempie. Stworzyłem obraz tła dla 4-calowego iPhone'a o wymiarach 640x1136. Umieściłem obrazek jako ikonkę na środku ekranu, ale obraz nie jest pełny, brakuje krawędzi.Swift & SpriteKit: Pełny ekran obrazu
Następnie próbowałem zmienić rozmiar obrazu w aplikacji. Kiedy zrobiłem image.size.height = self.size.height
, wysokość została poprawnie przeskalowana wzdłuż całego ekranu iPhone'a. Ale kiedy zrobiłem to samo z szerokością image.size.width = self.size.width
, obraz został bardzo rozciągnięty.
Wydrukowałem wymiary self.size
i okazało się, że wymiary dla mojego iPhone'a 5s to 1024, 768. To jest kompletny nonsens, ponieważ ekran nie może być szerszy niż jego wysokość na iPhonie. Aplikacja jest uniwersalna, ale jedyną orientacją jest portret.
Edit: Jest to kod używam umieścić obraz na ekranie
class GameScene: SKScene
{
let menuImage = SKSpriteNode(imageNamed: "menuImage")
override func didMoveToView(view: SKView)
{
/* Setup your scene here */
menuImage.anchorPoint = CGPointMake(0.5, 0.5)
menuImage.size.height = self.size.height
menuImage.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
self.addChild(menuImage)
}
Czy jesteś pewien, że symulator nie jest iPhone 5s? –
Testuję to zarówno na moim iPhonie 5s, jak i na symulatorze iPhone'a 5s i robią to samo. – Sam
Dlaczego stworzyłeś obraz 640 * 1136, jeśli ma być 768 * 1024? –