gpt4 book ai didi

c++ - Cocos2dx 动画(不使用过时的方法)

转载 作者:行者123 更新时间:2023-11-28 03:32:15 25 4
gpt4 key购买 nike

我试图了解动画如何在 cocos2dx 上工作(我正在针对 iPad 目标在 OSX 上开发)。

我已经关注了这个 tutorial试图从 objective-c 转换为 C++

这是我的代码:

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("oras.plist");

CCSpriteBatchNode* spriteBatchNode = CCSpriteBatchNode::create("oras.png", 8);
this->addChild(spriteBatchNode);

CCAnimation *bearWalkingAnimation = CCAnimation::create();

for (int i = 0 ; i < 8 ; ++i )
{

std::stringstream ss;
ss << "bear" << i + 1 << ".png";

std::string name = ss.str();
CCSpriteFrame* sprite = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(name.c_str());
bearWalkingAnimation->addSpriteFrame(sprite);


}

CCSpriteFrame *startSpriteFrame = static_cast<CCSpriteFrame *> (bearWalkingAnimation->getFrames()->objectAtIndex(0));

//deprecated
CCSprite *startSprite = CCSprite::spriteWithSpriteFrameName("bear1.png");
startSprite->setPosition(ccp (size.width / 2 , size.height / 2));

CCAnimate *bearAnimate = CCAnimate::create(bearWalkingAnimation);

CCRepeatForever * animAction = CCRepeatForever::create(bearAnimate);
startSprite->runAction(animAction);

this->addChild(startSprite);

熊被正确渲染但没有动画。我有两个问题:

  • 首先也是最重要的:我做错了什么,为什么?如何修复我的代码以使动画正常工作?
  • 第二个问题:spriteWithSpriteFrameName 已弃用。我应该改用哪种方法?

最佳答案

首先:

我想你忘了为 CCAnimation 设置延迟。我对2.0不熟悉,但我想应该有设置延迟的方法。或者你可以先创建一个 SpriteFrame 数组,然后使用方法

CCAnimation::create(array,delay);

第二个:

CCSprite::createWithSpriteFrameName();

关于c++ - Cocos2dx 动画(不使用过时的方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12182507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com