#include<vector>

//struct
struct GOLD_STRUCT
{
    Sprite  * goldspSprite;
    int goldValue;
};
//声明一个GOLD_STRUCT的vector
CC_SYNTHESIZE(std::vector<GOLD_STRUCT>, goldVector, GoldVector);
//将对象放入到vector容器中
void HelloWorld::initdaoju()
{
    std::vector<GOLD_STRUCT>goldVector;
    _spriteBatchNode = SpriteBatchNode::create("close.png");
    m_GameMap->addChild(_spriteBatchNode);
    TMXObjectGroup *group = m_GameMap->objectGroupNamed("gold");
    auto m_Golds = group->getObjects();
    for (int i = 0; i < m_Golds.size(); i++)
    {
        auto& obj = m_Golds.at(i);
        ValueMap& dict = obj.asValueMap();
        //std::string name = dict["name"].asString();
        float x = dict["x"].asFloat();
        float y = dict["y"].asFloat();
        float width = dict["width"].asFloat();
        float height = dict["height"].asFloat();
        Rect box = Rect(x, y, width, height);
       _sprite = Sprite::create("close.png");

        _spriteBatchNode->addChild(_sprite, tag);
        _sprite->setPosition(ccp(x, y));
        GOLD_STRUCT _gs;
        _gs.goldspSprite = _sprite;
        //根据配置文件或者plist文件来加载不同的金币数目
        _gs.goldValue = 100;
        goldVector.push_back(_gs);
    }
    m_Player->setGoldVector(goldVector);
}
//遍历vector中的元素
for (unsigned int i = 0; i < goldVector.size(); i++)
    {
        GOLD_STRUCT  gs = goldVector[i];
        mSprite->boundingBox();
        gs.goldspSprite->boundingBox();
        if (mSprite->boundingBox().intersectsRect(gs.goldspSprite->boundingBox()))
        {
            gs.goldspSprite->removeFromParentAndCleanup(true);
            goldVector.erase(goldVector.begin());
            CCLOG("1111");
        }

    }

3.x vector的用法的更多相关文章

  1. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  2. STL中的Vector相关用法

    STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...

  3. C++学习二 vector的用法(使用sort对于vector排序)

    一.vector的介绍 vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作. 二.vector的定义 #include<vector> using nam ...

  4. STL vector常见用法详解

    <算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...

  5. POJ 1230 Pass-Muraille#贪心+vector迭代器用法

    (- ̄▽ ̄)-* (注意下面代码中关于iterator的用法,此代码借鉴某大牛) #include<iostream> #include<cstdio> #include< ...

  6. C++:vector的用法详解

    原文地址:http://blog.csdn.net/hancunai0017/article/details/7032383 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于 ...

  7. STL————vector的用法

    一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...

  8. C++序列容器之 vector常见用法总结

    一.关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确. vector是一个动态的序列容器,相当于一个size可变的数组. 相比于数组,vector会消耗更多的内存以有效的 ...

  9. C++ STL(二)vector的用法

    ##### vector的定义 ```#include <iostream>#include <string>#include <vector>using name ...

  10. vector基本用法

    Vector作为STL容器中的一员,使用频率非常高,因此对其基本用法和实用技巧进行记录,便于后期查询使用. 基本用法 #include <iostream> #include <ve ...

随机推荐

  1. 关于C#动态调用VC Dll的方法(转)

    http://blog.csdn.net/null1/article/details/3953155

  2. FFmpeg YUV视频序列编码为视频

    上一篇已经写了如何配置好开发环境,这次就先小试牛刀,来个视频的编码.搞视频处理的朋友肯定比较熟悉YUV视频序列,很多测试库提供的视频数据都是YUV视频序列,我们这里就用用YUV视频序列来做视频.关于Y ...

  3. 教程-Supports判断接口(Instance)是否支持

    function TCommandEnabledController.GetCommandVisible(const ACommandName: string): Boolean; var I: In ...

  4. 写的非常好的文章 C#中的委托,匿名方法和Lambda表达式

    简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆.我想下面的代码能证实这点.下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=5.答案是6个Fir ...

  5. 转载StringBuilder说明

    动态串StringBuilder 利用System.Text.StringBuilder类实现动态字符串,动态的含义是指在修改字符串时,系统不需要创建新的对象,不会重复开辟新的内存空间,而是直接在原来 ...

  6. android中常用的尺寸单位及其关系

    1 尺寸单位定义 px(pixel,像素):每个px对应屏幕上的一个点 dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位.在每英寸160个点 ...

  7. ECSHOP模板标签

    模板制作修改经常用到ecshop模板标签: 页面关键字 {$keywords }页面标题 {$page_title}产品分类父分类列表 {foreach from=$categories item=c ...

  8. Genymotion中文手册

    目录1.概述 22.特点 22.1最擅长于虚拟Android 22.2高可控性 22.3管理你的设备 22.4从Eclipse中开启虚拟设备 33.要求 33.1操作系统要求 33.2系统硬件要求 3 ...

  9. AFNetworking2.x 使用过程中遇到的问题

    1.//以下写一下关于AFNetworking2.0的GET数据请求问题,刚開始的时候没有写以下标红的代码,所以导致有一个问题.错误显演示样例如以下: Error: Error Domain=AFNe ...

  10. 【48】认识template元编程

    1.TMP(template metaprogramming),模版元编程有两个效力:第一,它让某些事情更容易:第二,可将工作从运行期转移到编译期.