Cocos2dx 幀動畫創建精靈

用一張張圖片創建

Animation* animation = Animation::create();
	for (int i = 1; i <= 17; i++) {
		auto frameName = __String::createWithFormat("fire/campFire%02d.png", i);
		log("frameName = %s", frameName->getCString());
		animation->addSpriteFrameWithFileName(frameName->getCString());//用文件名添加精靈幀
	}
	animation->setDelayPerUnit(0.08f);//幀延遲時間
	animation->setRestoreOriginalFrame(true);//播放完回到第一幀狀態
	
	Animate* action = Animate::create(animation);//action爲可執行的動畫
	//創建精靈
	auto sprite = Sprite::create("fire/campFire02.png");
	sprite->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
	sprite->runAction(RepeatForever::create(action));//使用動畫
	this->addChild(sprite);

精靈幀緩存創建

		Animation* animation = Animation::create();
		for (int i = 1; i <= 4; i++) {
			auto frameName = __String::createWithFormat("h%d.png", i);
			log("frameName = %s", frameName->getCString());
			SpriteFrame* spriteFrame = SpriteFrameCache::getInstance()
				->getSpriteFrameByName(frameName->getCString());
			animation->addSpriteFrame(spriteFrame);//從精靈幀緩存中添加
		}

		animation->setDelayPerUnit(0.15f);
		animation->setRestoreOriginalFrame(true);
		Animate* action = Animate::create(animation);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章