поддержка сетчатки Cocos2D больше не работает - PullRequest
1 голос
/ 18 сентября 2011

У меня проблема с моей игрой cocos2d, которая поддерживает отображение сетчатки. Раньше все работало нормально, но сейчас я работаю над обновлением. В этом обновлении я только добавил 3 новых изображения (также в формате HD). Я использую текстурные атласы, сделанные с помощью zwoptex. сгенерированные png - это gameart.png и gameart-hd.png. Я загружаю файлы, используя этот код:

 CCSpriteFrameCache* frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];
    [frameCache addSpriteFramesWithFile:@"gameart.plist"];

при получении любого спрайта я использую spriteWithFrameName: метод. Раньше все работало нормально (даже на iPhone 4), но теперь я получаю следующую ошибку только на iPhone 4:

cocos2d: CCSpriteFrameCache: Frame 'tilei.png' not found
*** Assertion failure in -[BoardTile initWithSpriteFrame:]

файл tilei доступен в файлах gameart.png и gameart-hd.png (tilei.png и tilei-hd.png), а также в файлах plist. я перепроверил это тысячу раз. что может пойти не так? обратите внимание, что ошибка не показывает суффикс -hd, даже если он возникает только при работе на iPhone 4.

Ответы [ 2 ]

6 голосов
/ 18 сентября 2011

Вам не нужен суффикс -hd для спрайтов внутри таблицы спрайтов HD.

Похоже, у вас есть:

  • sd-spritesheet
    • image1.png
    • image2.png
    • и т. д.
  • hd-spritesheet
    • image1-hd.png
    • image2-hd.png
    • и т. д.

Вам нужно:

  • sd-spritesheet
    • image1.png
    • image2.png
    • и т. д.
  • hd-spritesheet
    • image1.png
    • image2.png
    • и т. д..
2 голосов
/ 18 сентября 2011

Может быть, вы видели эту страницу, но здесь есть ссылка на создание приложений cocos2d retina. Возможно, вы видели это, но это может быть полезно для тех, кто хочет создавать приложения Retina для iPhone от Cocos2d и новичок в cocos2d, http://www.cocos2d -iphone.org / wiki / doku.php / prog_guide: how_to_develop_retinadisplay_games_in_cocos2d .

...