gpt4 book ai didi

c++ - 如何在 cocos2dx v3.7 中将一些 Sprite 放入 Valuemap

转载 作者:行者123 更新时间:2023-11-30 05:39:16 25 4
gpt4 key购买 nike

我发现Valuemap是方法。该值不支持指针。但是我写那些代码不会出错:

Sprite* spriteBg = .....;
Valuemap dic;
dic["abc"] = spriteBg;

获取时出错:

for (auto unit:dic){
Sprite* spritebg = dynamic_cast<Sprite*>(unit.second);
}

它显示错误“cocos2d::Value is not a pointer”

或这个问题的另一面:我可以将 Ref 对象设置为 cocos2dx 值吗?

最佳答案

cocos2d::Value 类型以及扩展的 Valuemap 类型旨在保存从 JSON 反序列化的值。因此它们不能包含 Ref 类型。

据我所知,唯一内置的存储 cocos2d::Ref 派生对象的 cocos 类型是 cocos2d::Vector - 它将正确保留/释放成员,并支持迭代。


啊。 @zszen 指出我错过了 cocos2d::Map(来自 cocos/base/CCMap.h),它将保留/释放 Value 类型。

cocos2d::Map<std::string,Node*> nodeMap;

关于c++ - 如何在 cocos2dx v3.7 中将一些 Sprite 放入 Valuemap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32434638/

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