0

cocosbuilderとcocos2d-xを使用して、新旧のiPhone用のゲームを開発したいと思います。2つの解像度に対して1つのファイルを作成したいと思います。1つのccbファイルを作成し、それを網膜と通常の解像度で公開しました。すべてがうまく機能しますが、今では同じ名前のpngファイルが2つあります。

公開済み-iOS/resources-iphone / star.png

公開済み-iOS/resources-iphonehd / star.png

問題があります。Xcodeを使用していますが、プロジェクト内の同じ名前の2つのファイルが好きではありません。これらのファイルを別々のグループのプロジェクトに追加できますが、最終的なアプリケーションバンドルでは、star.pngファイルは1つしかありません。ランダムに選択されます。iphone 4sでアプリを起動すると、古いiphoneディスプレイの画像が表示されます。複数の解像度でcocosbuilderを使用する方法は?

4

2 に答える 2

0

XcodeおよびiOSアプリのバンドルはフォルダーに編成されておらず、フラットなバンドルに編成されています。それを機能させるには、ファイルの名前を変更する必要があります。私はこのようなものを提案します:

// iOS Standard
Published-iOS/resources-iphonehd/star@2x.png

またはこれ

// cocos-2d Standard
Published-iOS/resources-iphonehd/star-hd.png
于 2013-03-14T17:39:10.183 に答える
0

XCodeプロジェクトのresources-iphoneおよびresources-iphonehdディレクトリを、グループではなくフォルダ参照としてインポートする必要があります。これを行うには、フォルダをXCodeプロジェクトにドラッグアンドドロップします。これを行うと、アプリケーションバンドルにディレクトリが表示されます。これを確認するには、アプリケーションのターゲットを選択し、[ビルドフェーズ]->[バンドルリソースのコピー]に移動します。

その後、ApplicationDelegate.cppファイルで、CCFileUtilsの検索パスリストにこれらのフォルダーを追加する必要があります。

std::vector<std::string> resDirOrders;

if (resolution is iphone) 
{
    resDirOrders.push_back("resources-iphone");
} 
else if (resolution is iphone retina) 
{
    resDirOrders.push_back("resources-iphonehd");
    resDirOrders.push_back("resources-iphone");
}

CCFileUtils::sharedFileUtils()->setSearchResolutionsOrder(resDirOrders);

これは、cocos2d-x devsに従って複数の解像度を処理するための推奨される方法です(この記事をチェックしてください)。CCDirectorのウィンドウサイズを使用して、現在の解像度を決定できます。iphonehdの場合、網膜以外のフォルダーとフォールバックを含めています。

于 2013-03-15T21:53:58.617 に答える