Cocos2d-x 3.2错误-将数组更改为向量
Cocos2d-x 3.2 Error - Change Arrays to Vectors?
我得到一个错误与以下代码,因为我使用数组而不是向量。使用向量来编写代码的最佳方法是什么?
CCAnimate* createAnimate(int frameCount, float duration, const char* imageName)
{
CCArray * spritesArray = CCArray::create();
for (int i = 0; i < frameCount; i++) {
CCString *spritePath = CCString::createWithFormat("%s%i.png",imageName,i);
CCSprite *sprite = CCSprite::create(spritePath->getCString());
spritesArray->addObject(sprite);
}
CCArray *animationFrames = CCArray::create();
for (int i = 0; i < spritesArray->count(); i++) {
CCSprite *sprite = (CCSprite*)spritesArray->objectAtIndex(i);
CCSpriteFrame *frame = sprite->displayFrame();
animationFrames->addObject(frame);
}
CCAnimation* animation = CCAnimation::createWithSpriteFrames(animationFrames,duration);
CCAnimate* animate= CCAnimate::create(animation);
return animate;
}
Vector<SpriteFrame*> VillanspriteFrames(frameCount);
for (int i = 1; i <= frameCount; i++) {
char fileName[128] = { 0 };
sprintf(fileName, "imageName%d.png", i);
auto frames = spriteCache->getSpriteFrameByName(fileName);
VillanspriteFrames.pushBack(frames);
}
auto swordRun = Animation::createWithSpriteFrames(VillanspriteFrames,
duration);
swordRun->setRestoreOriginalFrame(true);
auto animate = Animate::create(swordRun);
return animate;
要使用这段代码,你必须使用一个.plist文件,使用Texture packer,使用所需的名称打包其中的所有文件。在你的Init方法中添加一个纹理文件,比如…
SpriteFrameCache *spriteCachespriteCache = SpriteFrameCache::getInstance();
spriteCache->addSpriteFramesWithFile("FightAnim.plist", "FightAnim.png");
SpriteFrameCache是一个单例对象。
相关文章:
- 如何在向量数组中插入元素?
- 不同大小的向量数组的大小 cpp
- 很好的语法来获取对向量/数组数据的大小引用?
- 指向 c++ 中的向量数组并将其发送到函数的指针
- 初始化向量数组,其中每个向量的大小为 0
- 在这里,当我们比较 if(vc[i]==vc1[i]) 时,它是向量数组. 实际上比较的值是多少,
- 如何使用结构体的向量数组?
- C++:向量数组
- 在C++中通过引用传递向量数组
- 向量数组"Cannot access memory at address"
- 构造不同类型的C++向量数组
- 向量数组的均值和众数 - 如何对函数进行较小的改进
- C++:初始化(新)一个不同初始大小的向量数组
- 五个中三个最大参数的平均值,不使用排序算法或向量/数组
- 销毁C++中的向量数组
- 继承向量/数组/列表并更改其大小
- 如何输出属于向量数组的结构字符串
- 如何通过引用传递向量数组
- 在向量数组中获得前五个最大的结果
- 为什么"new vector<int>[5]"不创建向量数组?