cocos进阶教程(5)各种动画使用心得
Node类 不解释
ActionTimeline类是一个3.0时代的动画类,
案例一
//建立node方案一
Data data = FileUtils::getInstance()->getDataFromFile("ActionTimeline/DemoPlayer.csb"); Node* node = CSLoader::createNode(data);
//建立node方案二
Node* node = CSLoader::createNode("ActionTimeline/DemoPlayer.csb");
ActionTimeline* action = CSLoader::createTimeline(data, "ActionTimeline/DemoPlayer.csb"); node->runAction(action); action->gotoFrameAndPlay(0); node->setScale(0.2f); node->setPosition(VisibleRect::center()); addChild(node);
案例二
Node* node = CSLoader::createNode("ActionTimeline/DemoPlayer.csb"); ActionTimeline* action = CSLoader::createTimeline("ActionTimeline/DemoPlayer.csb"); cocostudio::timeline::AnimationInfo standinfo("stand", 0, 40); cocostudio::timeline::AnimationInfo walkinfo("walk", 41, 81); action->addAnimationInfo(standinfo); action->addAnimationInfo(walkinfo); node->runAction(action); action->play("walk", true); node->setScale(0.2f); node->setPosition(150,100); addChild(node);
Armature,ArmatureAnimation,ProcessBase这个是传统的帧动画使用的api类
案例一:
//异步加载方案 ArmatureDataManager::getInstance()->addArmatureFileInfoAsync("armature/testEasing.ExportJson", this, CC_SCHEDULE_SELECTOR(TestAsynchronousLoading::dataLoaded)); //同步加载方案 ArmatureDataManager::getInstance()->addArmatureFileInfo("armature/bear.ExportJson"); Armature *armature = Armature::create("bear"); //按动画索引播放 armature->getAnimation()->playWithIndex(0); //按动画名称播放 armature->getAnimation()->play("fire") armature->setPosition(VisibleRect::center().x, VisibleRect::center().y); addChild(armature);