1. 程式人生 > >cocos2d-x 3.0開發筆記---用progressTimer製作血槽

cocos2d-x 3.0開發筆記---用progressTimer製作血槽


血條經常會用到,沒必要重複編寫浪費時間,這裡用最新版的API寫個,方便以後呼叫。

以下程式碼使用的引擎版本是cocos2d-x 3.0rc0

1.RADIAL


Sprite *bgSprite = Sprite::create("red.png");
	addChild(bgSprite, 1, 1);

	Sprite *hpSprite = Sprite::create("green.png");

	progressTimer = ProgressTimer::create(hpSprite);
	
	progressTimer->setType(ProgressTimer::Type::RADIAL);
	progressTimer->setReverseProgress(true);
	progressTimer->setPercentage(30);//滿值 100%

	addChild(progressTimer, 0, 0);

2.BAR


Sprite *bgSprite = Sprite::create("box.png");
	addChild(bgSprite, 1, 1);

	Sprite *hpSprite = Sprite::create("hp.png");

	progressTimer = ProgressTimer::create(hpSprite);

	progressTimer->setType(ProgressTimer::Type::BAR);

	///////////////////////////////////////////////////////////////////////////////////////////////////////
	//從左到右
	progressTimer->setMidpoint(ccp(0, 0.5));
	progressTimer->setBarChangeRate(ccp(1, 0));

	//從右到左
	//    progressTimer->setMidpoint(ccp(1, 0.5));
	//    progressTimer->setBarChangeRate(ccp(1, 0));

	//從上到下
	//    progressTimer->setMidpoint(ccp(0.5, 1));
	//    progressTimer->setBarChangeRate(ccp(0, 1));

	//從下到上
	//    progressTimer->setMidpoint(ccp(0.5, 0));
	//    progressTimer->setBarChangeRate(ccp(0, 1));
	///////////////////////////////////////////////////////////////////////////////////////////////////////////

	progressTimer->setMidpoint(Point(0, 0.5));
	progressTimer->setBarChangeRate(Point(1, 0));

	progressTimer->setPercentage(30);//滿值 100%

	addChild(progressTimer, 0, 0);