2016-05-12 12 views
0

私はSpriteKitでユニバーサルゲーム(iPhoneとiPad)に取り組んでいます。私はバックグラウンドサイズの問題があります。 サイズ1136x852のiPhoneデバイスのイメージサイズ2048x1536以上のイメージを作成しましたが、iPhone上で背景が切り取られています。 どうすれば修正できますか?ユニバーサルアプリの背景SpriteKit

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) 
    } 

iPhone 6プラス: The background is cropped

のiPadプロ: Fit to screen

iPhone 4S: Cropped background

資産ファイル: @1x size is 2048x1536 and @3x is 1136x852

1Xサイズ@は2048×1536で、3倍@センス規模が.ResizeAll.AspectFillそれは私が欲しいものを好きではないSKSprtieNodeの位置である1136x852 です。 ありがとう!

画像を分割してもまだ切り取られました iPhone 6と画面サイズが736x414で、シーンサイズが1024x768で、現行のデバイスにシーンを変更する必要があると思います各画面のスプライトを配置する enter image description here

+1

これを見てみましょう:私はすべてのゲームは、私がスクリーンでのスケールでそれを行うことができますどのように、すべてのサイズのために同じ画像を使用して参照http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions – Whirlwind

+0

サイズ? – user1569766

答えて

0

デバイスの画面サイズの比率が異なり、画面に合わせてサイズを拡張する必要があり、これが奇妙に見えることがあります。しかし、あなたはこのオプションが気に入ったら、.Fillを使うことができます。最もスムーズな方法は、.AspectFillを使用したままにして、各画面の寸法の画像を作成することです。クリエイティブに!がんばろう!

+0

ありがとう! SpriteKitベースは難しいです:( – user1569766

+0

問題ありません!私はUIKitのを学ぶためにしようとしてきた過去数週間SpriteKitベース..スイフト学び始め、今では –

+0

。難しいですしかし、どのように私はすべてのデバイス上の同じ位置にSKSpriteNodeを配置することができますか? – user1569766