В моем проекте так много кнопок. Но для каждой кнопки я делаю, он должен загрузить каждые изображения, даже если я делаю те же кнопки, как это:Как сделать кнопку спрайта в cocos2d-x?
auto btn = cocos2d::ui::Button::create("images/bone01.png","images/bone02.png","");
Я думаю, что это очень расточительно в отношении стоимости системы. Я хочу сделать только 1 texture2d * и использовать его при создании кнопок. Я много раз искал ключевое слово, «текстура cocos2d-x ...», но ответа я не нашел. Есть ли какой-либо метод использования текстуры при создании Button, или я должен создать класс, унаследованный классом Sprite, который содержит параметры touchEventListner и функции? если да, то как я могу начать создавать функцию, чтобы использовать метод как это:
btn->addTouchEventListener(CC_CALLBACK_0(HelloWorld::touchBoard, this));
лишь небольшой пример будет хорошо для меня.
=================================
Я сделал одноэлементный класс и поместил все кнопки и попытался использовать его, когда это необходимо. Но не удался, потому что Баттон autoreleased, когда он будет создан, так что, если я использую это еще один касты, как:
auto appleBtn = DataClass::getInstance()->_appleBtn;
ошибка происходит так:
Expression : child->_parent == nullptr
я могу преуспеть в этом случае с помощью удержания() & release(), но я предпочел бы использовать более безопасный способ.
Я не уверен, что это сработает, так как я очень новичок в cocos2d-x. Я попробую это скоро. – dessert
Я попробовал и не смог ;-(но спасибо за совет в любом случае – dessert