cocos2d-x相關控件的使用

(1)點9圖與按鈕搭配

		//正常狀態按鈕
		CCScale9Sprite* btnNormal = CCScale9Sprite::create("button.png");
		//單擊狀態按鈕
		CCScale9Sprite* btnDown = CCScale9Sprite::create("buttonHighlighted.png");
		//按鈕標題
		CCLabelTTF* title = CCLabelTTF::create("Click me","Arial",30);
		//創建按鈕(按鈕大小根據內容自動調整)
		CCControlButton* btn = CCControlButton::create(title,btnNormal);
		//設置按下時的圖片
		btn->setBackgroundSpriteForState(btnDown,CCControlStateSelected);
		//設置按鈕的初始大小
		btn->setPreferredSize(CCSize(300,50));

		//添加點擊事件
		btn->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::touchDown),CCControlEventTouchDown);

		btn->setPosition(ccp(200,200));
		this->addChild(btn);

回調函數:

void HelloWorld::touchDown(CCObject* pSender,CCControlEvent event){
	CCLOG("touchDown");
}

(2)計位按鈕

		//添加計位按鈕
		CCControlPotentiometer* p_meter = CCControlPotentiometer::create(
			"potentiometerTrack.png",
			"potentiometerProgress.png",
			"potentiometerButton.png");

		p_meter->setPosition(ccp(100,200));

		//添加進度監聽事件
		p_meter->addTargetWithActionForControlEvents(this,
			cccontrol_selector(HelloWorld::valueChange),
			CCControlEventValueChanged);

		this->addChild(p_meter);

回調函數:

void HelloWorld::valueChange(CCObject* pSender,CCControlEvent event){
	CCControlPotentiometer* btn_meter = (CCControlPotentiometer*)pSender;
	CCString* value = CCString::createWithFormat("%f",btn_meter->getValue());
	CCLOG(value->getCString());

}

(3)另一種音量控制按鈕

//添加血條
		CCControlSlider* p_slider= CCControlSlider::create(
			"background.png",
			"progress.png",
			"sliderThumb.png");//只要將控制按鈕改成透明的即可形成血條
		p_slider->setPosition(ccp(100,200));

	   //設置滑動條的範圍
		p_slider->setMinimumValue(0);
		p_slider->setMaximumValue(100);
		//設置初始值
		p_slider->setValue(50);

		//添加進度監聽事件
		p_slider->addTargetWithActionForControlEvents(this,
			cccontrol_selector(HelloWorld::valueChangeForSlider),
			CCControlEventValueChanged);

		this->addChild(p_slider);

回調函數:

void HelloWorld::valueChangeForSlider(CCObject* pSender,CCControlEvent event){
	CCControlSlider* btn_slider = (CCControlSlider*)pSender;
	CCString* value = CCString::createWithFormat("%f",btn_slider->getValue());
	CCLOG(value->getCString());

}



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