2016-10-25 12 views
0

私はCocos2d-xを使用しています。ポイントを配列に格納する方法を知りたいと思います。ポイントを配列に格納する方法Cocos2d-x C++

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); 

} 

問題がプッシュバック方式を使用してこのエラーである:

エラー:オーバーロードされた関数のインスタンス 'cocos2d ::ベクトル::プッシュバック[T = cocos2dと::スプライト*] マッチ引数リスト

引数型は(cocos2d :: Point) オブジェクト型はcocos2d :: Vectorです。

引数が正しくないので、私は失われてしまいました。これには何が間違っています。また、データを繰り返し取得できる配列にPointを格納する正しい方法は何ですか?ガイドラインをありがとう。ご挨拶

+0

掲載されたコードに問題はありますか?それにはエラーが含まれていますか?コンパイル時または実行時?あなたは、あなたの問題が何であるかを私たちに知らせる必要があります。 – nvoigt

答えて

2

このように保存することはできません。 Vectorはcocos2d-xであり、Refクラスを拡張するcocos2d-xオブジェクトが必要です。代わりに、次のようにstdのベクタ(小文字)を使用できます。

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

これは正しい方法です。どうもありがとうございました。ご挨拶 – Diego

関連する問題