【Pia开发日记】cocos2d-x CCDictionary allKeys用法

原创 2013年11月27日 16:46:40

CCArray* CCDictionary::allKeys()
{
    //取得词汇的数量
    int iKeyCount = this->count();
    if (iKeyCount <= 0) return NULL;
    //创建一个iKeyCount大小的CCArray
    CCArray* pArray = CCArray::createWithCapacity(iKeyCount);
    //定义临时词汇指针变量。
    CCDictElement *pElement, *tmp;
    if (m_eDictType == kCCDictStr)
    {    //如果当前词典查询类型是通过名称字符串。
        //遍历所有词汇。
        HASH_ITER(hh, m_pElements, pElement, tmp) 
        {
            //取得每一个词汇的名称字符串放入CCArray中。
            CCString* pOneKey = new CCString(pElement->m_szKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);
        }
    }
    else if (m_eDictType == kCCDictInt)
    {    //如果当前词典查询类型是通过索引。
        //遍历所有词汇。

        HASH_ITER(hh, m_pElements, pElement, tmp) 
        {
            //取得每一个词汇的名称字符串放入CCArray中。
            CCInteger* pOneKey = new CCInteger(pElement->m_iKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);
        }
    }
    
    return pArray;
}
以上为CCDictionary::allKeys(源码),由

            CCString* pOneKey = new CCString(pElement->m_szKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);
            CCInteger* pOneKey = new CCInteger(pElement->m_iKey);
            pOneKey->autorelease();
            pArray->addObject(pOneKey);

可知,可以将键值强制类型转换成CCString 或者CCInteger

相关文章推荐

【玩转cocos2d-x之二十六】数据结构CCDictionary

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。 1.实现原理 1.1.uthash ...

Cocos2d-x中的词典类CCDictionary深入分析

[Cocos2d-x相关教程来源于红孩儿的游戏编程之路 CSDN博客地址:http://blog.csdn.net/honghaier]   红孩儿Cocos2d-X学习园地QQ群:249941...

【玩转cocos2d-x之二十六】数据结构CCDictionary

CCDictionary在cocos2d-x中被大量的应用,比如CCTexureCache,CCSpriteFramCache等等。 1.实现原理 1.1.uthash CCDiction...

cocos2d-X 节点(CCDictionary)API

本文来自http://blog.csdn.net/runaying ,引用必须注明出处! cocos2d-X 节点(CCDictionary)API ///\cocos2d-x-3.0alph...

cocos2d-x android移植日记

使用cocos2d-x引擎已经有一段时间了,该引擎可以支持许多平台,我研了一款游戏产品。最开始的时候是在win7下使用Visual studio 2010进行开发,测试,进行到一个阶段之后,把它移植到...
  • xu_cq
  • xu_cq
  • 2013年04月29日 07:33
  • 1758

cocos2d-x学习日记之网络通信篇—HttpClient

Title:使用HttpClient实现一个与服务器的简单的交互 通过输入账号和密码点击登录 显示登录情况 服务器地址:这里使用的是公司的服务器地址 "http://42.96.151.161:83...

cocos2d-x新手日记(一)

sdk下载地址 开发环境:windows IDE:vs2010(原生不支持早期的vs版本,但是可以手动配置) 多平台项目的创建 早期版本的cocos2d-x会提供一些IDE模板用于创建工程,但是在2....

cocos2d-x学习日记 - 1. 基础概念 - 导演, 场景, 层, 精灵

1. 基础概念 - 导演, 场景, 层, 精灵1. 导演(Director): a. Cocos2d-x核心, 用 getInstence() 获得 Director 实例. 2. 场景(Sc...

cocos2d-x getVisibleSize , getVisibleOrigin 和坐标位置日记

getWinSize : 获取设备屏幕大小. getVisibleSize:获得视口(可视区域)的大小,若是DesignResolutionSize跟屏幕尺寸一样大,则getVisibleSize便...

cocos2d-x学习日记 - 2. 调度器

2. 调度器1. 默认调度器: schedulerUpdate() a. 每一帧都会被调用, 需要重载 update 方法来执行自己的逻辑代码 b. 通过执行 schedulerUpd...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Pia开发日记】cocos2d-x CCDictionary allKeys用法
举报原因:
原因补充:

(最多只允许输入30个字)