私はアニメーションがどのように機能するかを理解しようとしていますcocos2dx
(私はiPadターゲット用のOSXで開発しています)。
からへの変換を試みて、このチュートリアルに従いました。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);
クマは正しくレンダリングされますが、アニメーション化されません。2つの質問があります:
- 最初で最も重要なこと:私が間違っていることとその理由は何ですか?アニメーションを機能させるためにコードを修正するにはどうすればよいですか?
- 2番目の質問:非推奨
spriteWithSpriteFrameName
です。代わりにどちらの方法を使用する必要がありますか?