2014-09-30 46 views
0

我是SpriteKit初學者,在iOS7和xcode5下做了一些教程。在更新xcode6和iOS8之後,幀大小現在針對每個設備(1024,768)進行修復。我現在的問題是,我怎樣才能真實地確定場景中顯示的內容以及節點在場景中顯示的範圍。 (場景的實際大小和範圍) 示例:node.position = CGPointMake(0,768); //不能在場景中看到,而 node.position = CGPointMake(300,768); //可以稍微看到現場框架大小iOS8 Sprite工具包

非常感謝和親切的問候, SirSandmann

回答

0

如果您正在使用SKSceneScaleModeAspectFill作爲scaleMode的場景會按比例縮放,直到填滿整個屏幕,所以您將在16:9設備上從這個尺寸的頂部和底部(1024,768)中損失一點點。該長寬比(iPhone 5及以上)的場景的可用尺寸應該是(1024,575),以便應該放置重要遊戲元素的區域。

如果你想支持3:2設備(iPhone 4S和下),可用面積應該是(862,575),如果我是正確的。

+0

我找到了我的問題的解決方案。技術術語是問題。我對這些設備的不同界限感到困惑。對於每個設備現在是視圖和大小爲768,1024的場景,但是每個設備的邊界是不同的。所以我加入了GameViewController: scene = [GameScene sceneWithSize:skView.bounds.size]; 回到現場只是邊界的大小。 有什麼缺點,它可能不得不回到這個選項? – SirSandmann 2014-10-01 08:18:15

+0

好吧,如果您使用絕對位置,iPad和iPhone設備上的元素看起來會有所不同。一個在200,200的節點顯然不會在(1024,768)和(480,320)場景中的相同位置上,所以你將不得不使用相對位置。 由於所有設備的場景尺寸相同,所以您不必擔心它,因爲它看起來相同。關於可用區域,以便它可以在所有設備上播放。 – gzafra 2014-10-01 13:44:14

+0

好的,謝謝你到目前爲止! – SirSandmann 2014-10-01 17:10:58