Какую структуру лучше всего использовать, когда у вас много персонажей с одинаковым поведением и анимацией, но с разными изображениями спрайтов?

Я делаю игру для своей лаборатории психологии, в которой есть разные сцены (джунгли, море, пустыня, луна, подземелье и т. Д.), Но поведение персонажей для каждой сцены по существу одинаково. Можно ли написать класс, который будет иметь все необходимое поведение и анимацию, которые потребуются каждому спрайту, а затем иметь подклассы, которые наследуются от этого класса (я бы хотел только изменить изображение спрайтов на основе сцены в каждом подклассе).


person Daniela Carrasco    schedule 11.06.2015    source источник
comment
Непонятно, что вы спрашиваете. Прочтите этот stackoverflow.com/help/how-to-ask, а затем отредактируйте свой вопрос.   -  person Dhanuka    schedule 11.06.2015


Ответы (1)


Извините за поздний ответ, но я не видел этого до сих пор. То, что вам нужно, может быть довольно легко достигнуто в Spritebuilder без необходимости создания подклассов. По крайней мере, это хорошо работает, если ваши персонажи состоят из CCNode с анимированными спрайтами. Допустим, у вас есть файл ccb со всеми анимациями под названием JungleCharacter:

Щелкните правой кнопкой мыши файл JungleCharacter и выберите «Дублировать». Теперь в новом файле (скажем, мы назовем его SeaCharacter) вы выбираете каждый спрайт и на панели «Свойства элемента» (справа) вы можете изменить рамку спрайта. Итак, если бы у вас был кадр спрайта с именем «JungleCharacterLeftArm.png», вы бы изменили его на эквивалентный «SeaCharacterLeftArm.png».

Если это утомительно делать в Spritebuilder, вы можете сделать это в своем любимом текстовом редакторе, поскольку файлы ccb представляют собой файлы xml. Вы найдете их в папке «Packages/SpriteBuilder Resources.sbpack» (щелкните правой кнопкой мыши и выберите «показать содержимое пакета»). Если вы правильно настроите ресурсы изображения, например «Jungle/LeftArm.png», «Sea/LeftArm.png», вы сможете быстро найти и заменить, заменив «Jungle» на «Sea» (вы поняли идею ).

Надеюсь это поможет!

person Pontus Armini    schedule 25.06.2015