Seasons.NET

ちょっとした技術ブログです

Cocos2d-Swift 絵を表示するプログラムの解説2

Cocos2d-Swift 絵を表示するプログラムの解説1 - Seasons.NET

前回は、用意した素材がSpriteBuilderによって自動的に解像度毎に画像が生成されプログラム内で自動的に選択されて利用されると説明しました。

具体的には、このコードの部分です。 

ccswift20141231_01

引数に渡しているファイル名が画像ファイル名ですが、ファイル名をもとに最終的に利用すべき画像ファイルのフルパスをCCSprite内部で判断し、読み込んでいます。

 

具体的には、実行されているデバイスの情報を用いて、パスを決定しています。iOSでは、下記のように定義されています。

CCFileUtils.m:

CCSwift20141231_02

iPhone,iPhone HDというのは、いわゆる3.5インチスクリーンのiPhone 3GSiPhone 4, iPhone 4sといったモデルを指します。

iPhone 5, iPhone 5HDというのは、4インチスクリーンを搭載したiPhone 5や5sといったモデルです。最近追加されたiPhone 6やiPhone 6 Plusといったモデルは、HDモデルと同じ扱いで考えてください。

iPad,iPad HDは、通常のDisplayとRetinaDisplayモデルの2種類で管理されているようです。

 

ですが、気を付けて欲しい点として、iPad用の画像は、デフォルトの設定では、x2倍されて生成されてしまうので、もしiPhoneと同じリソースを使う前提であれば、以下のように変更しましょう。

f:id:Seasons:20141231031304p:image

ただし、Cocos2d-Swiftでは、Androidの開発も視野に入れた設計になっているため、見た目をなるべく同じにするという点でデフォルトの設定をオススメします。実際に上記設定で表示してみるとiPadではものすごく小さく表示されてみえてしまうので一度試してみると良いでしょう。

 

設定変更後

 

f:id:Seasons:20141231032441p:image

デフォルト設定

 f:id:Seasons:20141231032458p:image

iPadAndroidタブレットの高解像度を生かしたコンテンツを作成するのであれば、解像度にあわせたプログラミングが必要になり、手間や工数も当然増えるので注意しましょう。