Не удается загрузить фрейм cocos2d для Android

#android #ccsprite #cocos2d-android #atlassprites

#Android #ccsprite #cocos2d-android #atlassprites

Вопрос:

Я пытаюсь нарисовать один спрайт из atlas.. Я создал с помощью Zwoptex файл atlas и plist. поместите два файла в папку 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: ПРЕДУПРЕЖДЕНИЕ/System.err(1147): исключение java.io.FileNotFoundException: level1.png 04-28 12:45:32.642: ПРЕДУПРЕЖДЕНИЕ/System.err(1147): исключение java.io.FileNotFoundException: Screen_01_0029_BG_01-0.png 04-28 12:45:32.622: ОШИБКА/CCSpriteFrameCache(1147 ): Неподдерживаемый формат файла Zwoptex plist.

Screen_01_0029_BG_01-0.png ссылается на один из фреймов в атласе level1.png…

Мысли?

ER

Ответ №1:

прежде всего, вам нужно передать оператор «true» в качестве второго параметра в конструкторе «CCSprite.sprite». Таким образом, вы сообщаете cocos2d, что намерены использовать изображение спрайта, которое является частью файла списка ресурсов, вместо этого в качестве отдельного изображения в папке res вашего проекта. Если это не поможет, возможно, вам потребуется удалить JAR-файл cocos2d из каталога libs и загрузить исходный код с github. Если вы сделаете это, пожалуйста, прокомментируйте методы «рисования» на CCMenuItemSpite.java класс, поскольку он создает двойные изображения. Поведение класса по умолчанию работает просто отлично. Возможно, вам также потребуется удалить некоторые директивы «@Override», особенно если у вас установлена последняя версия Eclipse, как у меня, прежде чем вы сможете правильно собрать исходные файлы и связать их с вашим проектом. Я надеюсь, что это немного поможет…