몇 가지 기본적인 문제가 cocos2d-x v3에 있습니다.cocos2d-x v3 Windows의 기본 사항
1) 나는 그런 스프라이트를 만들 때 : 나는 그들을 proplery erease 할 필요가 어떻게
cocos2d::Sprite *sprite1 = cocos2d::Sprite::create("test.png");
auto sprite2 = cocos2d::Sprite::create("test.png");
를? autorelease를 사용해야합니까 (생성 후 사용하면 충돌이 발생합니까)? 나는 두 변종은 사용할 수에 대한 :
sprite1->removeFromParentAndCleanup(true);
sprite2->removeFromParentAndCleanup(true);
2) 내가 애니메이션을 원하는 내가 원하는 때 내가 그것을 사용할 수 있도록, 내가 어떻게 할 수있는, 내 HelloWorldScene에서 활동이있을 때? 나는 그 같은 시도 :
void HelloWorld::runAnimationWalk() {
auto spritebatch = cocos2d::SpriteBatchNode::create("robo.png");
auto cache = cocos2d::SpriteFrameCache::getInstance();
cache->addSpriteFramesWithFile("robo.plist");
//spritebatch->addChild(worker);
Vector<SpriteFrame *> animFrames(5);
char str[100] = {0};
for(int i = 1; i <= 5; i++)
{
sprintf(str, "robot%i.png", i);
cocos2d::SpriteFrame* frame = cache->getSpriteFrameByName(str);
animFrames.pushBack(frame);
}
auto animWalk = cocos2d::Animation::createWithSpriteFrames(animFrames, 0.1f);
vector<Worker>::iterator it = workerVector.begin();
for(int k = 0; k<workerVector.size();k++) {
if(it->getType() == 1)
it->getWorker()->runAction(RepeatForever::create(Animate::create(animWalk)));
it++;
}
}
작동하지만, 난 내가 애니메이션을 변경할 후 항상 함수를 호출해야합니다. 나는 spritebatch, 캐시 등을 저장하려고 시도했다. 그러나 전역 적으로 몇 시간이 지나면 애니메이션이 dissaper되었다.