博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d-x学习之CCDictionary中的一个小问题
阅读量:6708 次
发布时间:2019-06-25

本文共 892 字,大约阅读时间需要 2 分钟。

cocos2d-x学习之CCDictionary中的一个小问题


cocos2d-x开发中,数据操作自然是一个必须面对的问题。其中,这个引擎中内置了少数但是却非常高效率的DS,
例如CCString, CCArray, CCDictionary等。本文要记录的是CCDictionary使用过程的一个小问题。

问题描述:遍历一个字典。

开始时,我使用了如下想法:


CCArray* arrKey=m_pZombieDict->allKeys();

CCLog("CCArray.count:%d",arrKey->count());
CCObject* pObj = NULL;

CCARRAY_FOREACH(arrKey, pObj)
{


    CCInteger* pKey =(CCInteger*)pObj;
    if (pKey != NULL)
    {

        const CCString* pValue=m_pZombieDict->valueForKey(iTag);
       //...............others omitted



但是,实际调试中却发现直接调用allKeys()函数会导致失败,程序无法进行下去。我观看了一下 CCDictionary的源码,它也没有使用上述方案
遍历一个字典。对于allKeys()函数的调用不是如上方法。时间关系先不细致追究下去了。反正上述方案不行。通过CCDictionary的源码及头文件CCDictionary.h,
发现了如下常用的(引擎推荐说更高效)方案:


CCDICT_FOREACH(m_pZombieDict, pElement)
{


    int key = pElement->getIntKey();
    CCString* pSprite = (CCString*)pElement->getObject();
    // ......
}


有关使用上述遍历宏的使用细节,请参考头文件CCDictionary.h中的细致说明。总之,这些源码中提供了非常细致的一些重要结构及函数的使用例子,VERY GOOD!

感谢cocos2d-x的作者!

转载地址:http://glnlo.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
Mock.js的使用
查看>>
Linux部署ThinkPHP 验证码不显示
查看>>
bootstrap多个modal模态框同时设置垂直居中的方法
查看>>
设置grub密码
查看>>
mydumper安装笔记
查看>>
secure CRT 串口自动烧录程序
查看>>
vmsata 监控命令详解
查看>>
初学centos
查看>>
combobox 设置下拉列表无效
查看>>
使用commit 命令创建一个带有 ssh 的 ubuntu 镜像(不使用 PAM)
查看>>
解决缓存引发的CSS/JS/IMG问题
查看>>
华为手机年轻化转型初见成效,《梦想的声音》传递了哪些讯号?
查看>>
[C#]在程序中启动另外一个程序
查看>>
支撑双十一的网络引擎:飞天洛神
查看>>
Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
查看>>
无线网络多种加密模式比拼
查看>>
浅谈Ddos******与防御
查看>>
微软开源.NET Framework,实现跨平台
查看>>
zabbix安装(超详细)
查看>>