gpt4 book ai didi

c++ - 如何在cocos2d-x中制作 Sprite 按钮?

转载 作者:太空狗 更新时间:2023-10-29 22:59:16 26 4
gpt4 key购买 nike

我的项目需要很多按钮。但是对于我制作的每个按钮,它必须加载每个图像,即使我制作相同的按钮也是如此:

auto btn = cocos2d::ui::Button::create("images/bone01.png","images/bone02.png","");

我认为这在系统成本方面非常浪费。我只想制作 1 个 texture2d* 并在制作按钮时使用它。我用关键字“cocos2d-x button texture...”搜索了很多次,但没有找到答案。有没有什么方法可以在创建按钮时使用纹理,或者我应该创建一个由包含 touchEventListner 和函数参数的 Sprite 类继承的类?如果是这样,我怎样才能开始创建函数来使用这样的方法:

btn->addTouchEventListener(CC_CALLBACK_0(HelloWorld::touchBoard, this));

只是一个小例子对我来说没问题。

=============================================

我做了一个单例Class,把所有的Button都放上去,想用的时候就用。但是失败了,因为 Button 在创建时是自动释放的,所以如果我使用它另一个 cpp,比如:

auto appleBtn = DataClass::getInstance()->_appleBtn; 

出现这样的错误:

 Expression : child->_parent == nullptr

我可能会通过使用 retain() 和 release() 以这种方式成功,但我宁愿使用更安全的方式。

最佳答案

虽然我没有任何使用 cocos2d 的经验,但我认为它只会将此纹理加载到内存中一次,并将此信息用于所有按钮。难道不能制作一个按钮类并从该类继承所有相同的按钮吗?我再次不知道 cocos2d 是如何工作的,但任何其他游戏引擎都应该是可能的:)

关于c++ - 如何在cocos2d-x中制作 Sprite 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37610206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com