文章出自于 http://blog.csdn.net/zhouyunxuan
这个 GUI控件很好用。
#include <ui/CocosGUI.h>
using namespace ui;
Button* btn = Button::create("CloseNormal.png");
btn->setPosition(Vec2(200, 200));
btn->addTouchEventListener([](Ref* ref,Widget::TouchEventType touchType){
static int count = 0;
if (touchType == Widget::TouchEventType::BEGAN)
{
++count;
log("Begin%d", count);
}
else if (touchType == Widget::TouchEventType::ENDED)
{
log("ENDED");
}
else if (touchType == Widget::TouchEventType::MOVED)
{
log("MOVE");
}
else if(touchType == Widget::TouchEventType::CANCELED)
{
log("CANCELED");
}
});
addChild(btn);
// cocos2d::experimental::ui::VideoPlayer* video = cocos2d::experimental::ui::VideoPlayer::create();
// video->setPosition(Vec2(150, 150));
// addChild(video);
CheckBox* check = CheckBox::create("CloseNormal.png", "CloseSelected.png", "CloseSelected.png", "CloseSelected.png", "CloseSelected.png");
check->addEventListener([](Ref* ref,CheckBox::EventType type){
switch (type) {
case CheckBox::EventType::SELECTED:
log("selected");
break;
case CheckBox::EventType::UNSELECTED:
log("unselected");
break;
default:
break;
}
});
check->setPosition(Vec2(400, 400));
addChild(check);
//展示图片的
ImageView* imgView = ImageView::create("splash.png");
imgView->setScale(0.2);
imgView->setPosition(Vec2(300, 300));
addChild(imgView);
Slider* slider = Slider::create();
slider->loadBarTexture("countdown_progress_01.png");//空的图
slider->loadSlidBallTextures("CloseNormal.png", "", "");
slider->loadProgressBarTexture("countdown_progress_02.png");//满的图
slider->setPosition(Vec2(250, 250));
slider->addEventListener([](Ref* ref,Slider::EventType type){
auto s = static_cast<Slider*>(ref);
log("value is %d", s->getPercent());
});
addChild(slider);
LoadingBar* loadingBar = LoadingBar::create("countdown_progress_02.png");
loadingBar->setPosition(Vec2(500, 500));
loadingBar->setPercent(10);
addChild(loadingBar);
// Create the line wrap
Text* text = Text::create("Text can line wrap","AmericanTypewriter",32);
text->ignoreContentAdaptWithSize(false);
text->setSize(Size(280, 150));//设置字体会自动换行的范围
text->setTextHorizontalAlignment(TextHAlignment::CENTER);
text->setPosition(Vec2(300, 200));
addChild(text);
TextField* textField = TextField::create("input word", "AmericanTypewriter", 30);
//限制输入
textField->setMaxLengthEnabled(true);
textField->setMaxLength(20);
textField->setPasswordEnabled(true);
textField->setPasswordStyleText("*");
textField->setTextHorizontalAlignment(TextHAlignment::CENTER);
textField->setTextVerticalAlignment(TextVAlignment::CENTER);
textField->setPosition(Vec2(400, 500));
textField->addEventListener([&](Ref* ref, TextField::EventType type){
switch (type) {
case TextField::EventType::ATTACH_WITH_IME:
log("attach_with_me");
break;
case TextField::EventType::DELETE_BACKWARD:
log("delete backward");
break;
case TextField::EventType::DETACH_WITH_IME:
log("detach with me");
log("%s",static_cast<TextField*>(ref)->getStringValue().c_str());
break;
case TextField::EventType::INSERT_TEXT:
log("insert text");
break;
default:
break;
}
});
addChild(textField);