2015年5月21日木曜日

SKSceneのデフォルトサイズが変な件

SpriteKitでゲーム作ろうとして、iPhoneのPortrait(縦長)画面の0,0の位置にSpriteを表示しようとしたら、表示されなかった。

CGRectGetMidXとか使ってpositionを画面中央に指定したら表示されたんだけど、絶対位置で指定するとかなり数字を大きくしてやらないと表示されない。

self.frame.size.widthと.heightを調べたらportrait画面なのに1024*768の横長だって。
GameView.sksで1024*768になってるプロパティを変更してみたけど変わらない。

調べたところ、Universalアプリの場合、SKSceneのデフォルトサイズが1024*768なんだって。
Universalアプリってことは、iPhone、iPad両用のアプリってことだよね? うちではXcodeでiPhone用だけを選んで同じことになってるので、Universalか否かは関係ないかも?

とりあえず、GameViewControllerでSKSceneを作る際、
scene.size = skView.frame.size;
のコードを入れておけば320*480の縦長サイズになってくれるので問題解決だ。
なんだかよくわかんないことするね、Appleも。

参考:【Swift】UniversalなSpriteKit開発 SKSceneが微妙なScaleをしてしまう問題の対処

0 件のコメント:

コメントを投稿