【问题标题】:What is the Replacement Method for CCArray in Cocos2dx 3.3?Cocos2dx 3.3中CCArray的替换方法是什么?
【发布时间】:2014-11-19 04:59:36
【问题描述】:

我有一个在 cocos2dx 2.2.3 中开发的游戏,现在我想在 cocos2dx 3.3 中转换这个游戏

最新版本,但我找不到有关替换 CCArray 的信息。

我阅读了一些关于矢量的教程,但我不知道如何使用它。任何更好的方法或请告诉我如何使用矢量而不是 CCArray。

我的 Cocos2d 2.2.3 编码的 CCArray 是下面的类型

objectArray->CCArray::create();

objectArray->addObject(CCStringMake("1.png"));
objectArray->addObject(CCStringMake("2.png"));
objectArray->addObject(CCStringMake("3.png"));
objectArray->addObject(CCStringMake("4.png"));
objectArray->addObject(CCStringMake("5.png"));
objectArray->addObject(CCStringMake("6.png"));
objectArray->addObject(CCStringMake("7.png"));
objectArray->addObject(CCStringMake("8.png"));
objectArray->addObject(CCStringMake("9.png"));
objectArray->addObject(CCStringMake("10.png"));

objectArray->retain();

如何将上述代码转换为 Vector 或 cocos2dx3.3 的任何替代方法?请告诉我。

【问题讨论】:

    标签: c++ ios iphone cocos2d-x cocos2d-x-3.0


    【解决方案1】:

    在.h文件中使用向量声明数组

    cocos2d::Vector<cocos2d::Sprite *>objectArray;
    

    在 .m 文件中使用下面的代码添加对象

    objectArray.pushBack(sprite);
    

    and for use for or at for the perticuler access object objectArray.at(2);

    for(auto str: objectArray)
    {
       Sprite *sprite21 = dynamic_cast<Sprite *>(str);
    }
    

    【讨论】:

    • 嘿@anil72178 - 您的编辑请求删除了最后的for sn-p。如果不需要,或者如果您做了不同的事情,请留下评论。
    【解决方案2】:
    Vector<String> frames;
    frames.pushBack("data1");
    frames.pushBack("data2");
    
    for(auto sp : frames)
    {
    
    }
    

    【讨论】:

    • 仅代码的答案——虽然在技术上是正确的——通常可以通过包含一些关于正在发生的事情的解释来得到很大的改进。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    相关资源
    最近更新 更多