将Vec2声明为向量?

时间:2015-03-16 09:45:59

标签: android cocos2d-x cocos2d-x-3.0

在eclipse上为Android安装了4个cocos2d-x。我试图将std :: Vector声明为像这样的Vec2。

Vector<Vec2*> _Positions;

但是我遇到了各种错误,例如&#34;基本的opperand&#39; - &gt;&#39;有非指针类型&#39; cocos2d :: Vector&#39; &#34;,&#34;静态断言失败:cococs2d :: Vector的类型无效!&#34;,&#34;&#39; class cocos2d :: Vec2&#39;没有名为release&#34;等的成员

用Vec2声明向量真的不可能吗?如果没有办法将Vec2存储为数组?

感谢您的时间。 :d

2 个答案:

答案 0 :(得分:0)

是的,你可以创建一个std::vector的Vec2。我想你要找的是:

std::vector <Vec2 *> _Positions;

注意std::vector

的情况

答案 1 :(得分:0)

Vec2不是cocos2d :: Node的继承类。 因此,不能使用cocos2d :: Vector。

进行Vectorize

Vec2是结构类型,你打算使用来自#include <vector>的std :: Vector。

代码示例(由microslop给出):

 std::vector <cocos2d::Vec2> _Positions;

其他样本:

std::vector<cocos2d::Vec2> a;
std::vector<cocos2d::Vec2>::const_iterator i;
a.push_back(1);
for(i=a.begin(); i!=a.end(); ++i){
  cocos2d::log("%f %f",(*i).x,(*i).y);
}