1

アトラスから1つのスプライトを描画しようとしています。Zwoptexを使用してアトラスとplistファイルを作成しました。2つのファイルをassestフォルダーに入れます。

コードで、新しいGameSceneクラスを作成します

そしてそれをロードしてみてください。

    //Return the ShareFrameCache object.
    CCSpriteFrameCache frameCache = CCSpriteFrameCache.sharedSpriteFrameCache();

    //Loading the list of frames from the list file.
    frameCache.addSpriteFrames("level1.plist");

    //Testing and see if I can load one frame to a sprite
    CCSprite sprite = CCSprite.sprite("Screen_01_0029_BG_01-0.png");

    //Set the position of the frame to the middle of the screen
    sprite.setPosition(CGPoint.ccp(winSize.width/2,winSize.height/2));

  //add the sprite as child so it can be seen on the phone.
  addChild(sprite,0);                           

デバッガーで次のエラーが発生します。

04-28 12:45:31.662:WARN / System.err(1147):java.io.FileNotFoundException:level1.png 04-28 12:45:32.642:WARN / System.err(1147):java.io.FileNotFoundException :Screen_01_0029_BG_01-0.png 04-28 12:45:32.622:ERROR / CCSpriteFrameCache(1147):サポートされていないZwoptexplistファイル形式。

Screen_01_0029_BG_01-0.pngは、level1.pngアトラスのフレームの1つを参照しています...

考え?

ER

4

1 に答える 1

0

まず、「CCSprite.sprite」コンストラクターの 2 番目のパラメーターとして「true」ステートメントを渡す必要があります。このようにして、リソース plist ファイルの一部であるスプライト イメージを、プロジェクトの \res フォルダー内のスタンドアロン イメージとして使用する意図があることを cocos2d に指示します。それでも問題が解決しない場合は、cocos2d JAR ファイルを \libs ディレクトリから削除し、ソース コードをgithubからダウンロードする必要があります。これを行う場合は、CCMenuItemSpite.java クラスの「draw」メソッドをコメントアウトしてください。二重の画像が生成されるためです。クラスのデフォルトの動作は問題なく機能します。また、ソース ファイルを適切にビルドしてプロジェクトにリンクする前に、特に最新バージョンの Eclipse を使用している場合は、"@Override" ディレクティブをいくつか削除する必要がある場合があります。

于 2012-06-30T13:59:34.290 に答える