iPad対応に悩むCocos2D開発者に朗報、ユニバーサルせずにHD化する裏技!! | iPhoneとADOBEとNAVIJETのブログ

iPhoneとADOBEとNAVIJETのブログ

iPhoneアプリ開発日記です。

Cocos2Dにおいて、ユニバーサル化せずにiPadでHD表示できる方法発見ですクラッカー

自分はiPad2を使っていますが等倍から2倍表示にすると解像度が低く、全てが崩れて表示され、見るに耐えない状態になってしまいます。

自分含め同じ疑問を抱いた方は結構多いと思います。

他のアプリではiPad対応でも無いはずなのにiPhone用のアプリがiPad上でもRetina用の@2x画像を表示しちゃうアプリもあるのに何故自分のアプリではRetina化されないのか、そんな悩みはこれで一発解消です!

こちらの海外記事です。
http://www.cocos2d-iphone.org/forum/topic/15002

英語で分かりづらいですが、スクリーンショット無しで簡単に説明します。

まず、リンク先の記事の1、Erica Sadun'sの UIDevice-Hardware categoryをダウンロードし、UIDevice-Hardware.hとUIDevice-Hardware.mをプロジェクトに追加します。
で2のOpen CCDirectorIOS.m and add: #import UIDevice-Hardware.hってやつですが、プロジェクト内をCCDirectorIOSで検索して出てきたCCDirectorIOS.m内に#import "UIDevice-Hardware.h"します。
3のIn -(BOOL) enableRetinaDisplay:(BOOL)enabled, add the following before // SD Device:とかってやつは、多分-(BOOL) enableRetinaDisplay:(BOOL)enabled内のSD Deviceって所の手前にこれを書けって事だと思います。
NSString *platformString = [[UIDevice currentDevice] platformString];
if ([platformString hasPrefix:@"iPad"]) {
float newScale = enabled ? 2 : 1;
[self setContentScaleFactor:newScale];

return YES;
}


俺はこんな感じで適当にやったら上手く行きました!

画像だけじゃなく文字とかもHD化されます!ですがゲームセンター機能全般、広告はHD化されずぼけてしまいますが、この方法はユニバーサル化せずに容量も軽くした状態で手軽にiPad対応出来るのでマジお勧め!

尚、iPad3では未検証です。

それと、記事の続きでシュミレータでもHD化する方法が書かれているっぽいですがそちらも未検証です汗

Cocos2Dゲーム開発でiPad対応にお悩みの方は是非お試し下さい!

コメントや報告は気軽にどうぞ音譜





iPhoneからの投稿