如何在数组中存储点

How to store Points in an Array Cocos2d-x C++

本文关键字:存储 数组      更新时间:2023-10-16

我使用Cocos2d-x,我想知道如何在数组中存储点。

myClass.h
Vector<Point*> _pointArray; //Using the cocos class Vector Im getting really confused about how to declare this Points container. 
myClass.cpp
//Some trigger in the implementation will populate the array
int count;
int i;
float coinPosX;
float coinPosY;
Point point1 = Vec2(0.8f, 0.2f);
_pointArray.pushBack(point1);
Point point2 = Vec2(15.0f, 10.0f);
_pointArray.pushBack(point2);
count = (int)_pointArray.size();
for (i = 0; i < count; i++){
    auto coin = Sprite::create("coin.png");
    coin->setPosition(Vec2( _pointArray.at(i).x,  _pointArray.at(i).y));
    this->addChild(coin);
}

问题是这个错误与pushBack方法:

错误:没有重载函数" cocos2d::Vector::pushback[with T=cocos2d::Sprite*]的实例匹配参数列表

参数类型为(cocos2d::Point)对象类型为cocos2d::Vector;

参数是不正确的,所以我迷路了,这有什么错,什么是正确的方式来存储点在一个数组,我可以迭代并获得它的数据。谢谢你的指导。问候。

不能这样存储。Vector是cocos2d-x,它需要cocos2d-x对象,它扩展Ref类。相反,你可以像这样使用std中的vector(小写):

std::vector<Point> _pointArray;
_pointArray.push_back(point1);