0

xcodeシミュレーターで起動するたびに、アプリケーションがランダムに出力されるというこの問題に直面しています。私は xCode バージョン 4.6.3 を使用しています。ここで言及されているすべての手順を試して実行しました キャッシュを空にしてすべてのターゲットをクリーンアップする方法 Xcode 4 しかし、役に立ちませんでした。デバイスのファミリごとに異なるリソースを使用しています。(基本的にユニバーサルiOSアプリを作っています。)AppDelegate.cpp で使用している以下のコードを確認してください

CCSize screenSize = pEGLView->getFrameSize();

//set design size for iPad retina

CCSize designSize = CCSize(1536,2048); //1.33

float screenRatio = screenSize.height/screenSize.width;

std::vector<std::string> searchPaths;

if (screenSize.width > 768)
{
    searchPaths.push_back("ipadRetina");
}
else if (screenSize.width > 320)
{
    if (screenRatio == 1.5f) // && screenRatio < 1.775f)
    {
        searchPaths.push_back("iphoneRetina");
        designSize = CCSize(640,960);       
    }
    else if(screenRatio == 1.775f)
    {
        searchPaths.push_back("iphoneFive");
        designSize = CCSize(640,1136);
              }
    else
    {
        searchPaths.push_back("ipad");

    }
}
else
{
    searchPaths.push_back("iphone");
    designSize = CCSize(320,480);

}


CCEGLView::sharedOpenGLView()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionShowAll);
CCFileUtils::sharedFileUtils()->setSearchPaths(searchPaths);
pDirector->setContentScaleFactor(screenSize.height/designSize.height);

取得するたびに出力が完全にランダムになります。時々、画像が余分なズームで表示されます。その後、プロジェクトを閉じて再実行すると、出力 (画像) が縮小されます。次の実行では、前の 2 つの出力とは完全に異なります。

上記のコードから私が観察したのは、ipadRetina 用のアプリケーションを実行しようとすると、リソースが必要になる場合があり、場合によっては iphone フォルダーから、場合によっては ipadRetina フォルダーから..しかし、ブレークポイントを配置すると、検索パスが ipadRetina フォルダーに設定されます。

助けてください。

4

2 に答える 2

0

プロジェクト ツリーに同じ名前のリソースが複数あるようです。my-image.png という名前の画像を参照し、プロジェクトにその名前の画像が複数あると、Xcode が混乱します。

この種の問題を回避する良い方法は、次のような一意のリソース名を付けることです。

game-image.png (for iPhone)
game-image-hd.png (for iPhone Retina)
game-image-ipad.png (for iPad)
game-image-ipad-hd.png (for iPad Retina)
于 2013-10-15T16:46:00.290 に答える