首页 > 代码库 > Cocos2dx中的四种控件及主要用法
Cocos2dx中的四种控件及主要用法
1.控件:即控制对象,控制按钮之类的精灵
2.主要介绍四大类控件:
CCControlSlider:进度条
CCControlSwitch:开关
CCScale9Sprite:9妹图(用于缩放)
CCControlButton:控制按钮,最复杂,最灵活
3.使用方法:
a.创建一个进度条:
CCControlSlider *slider = CCControlSlider::create("slider/sliderTrack.png", "slider/sliderProgress.png", "slider/sliderThumb.png");
第一个参数:背景图片,第二个参数:前景图片,第三个参数:是拇指按钮,其实内部实现原理是,分别创建三个精灵,然后相互作用形成进度条的视觉效果
b.创建一个开关:
CCControlSwitch *sw = CCControlSwitch::create(CCSprite::create("UI/switch-mask.png"), CCSprite::create("UI/switch-on.png"), CCSprite::create("UI/switch-off.png"), CCSprite::create("UI/switch-thumb.png"),CCLabelTTF::create("ON", "courier New", 20), CCLabelTTF::create("OFF", "courier New", 20));
和进度条控件一样,也是先分别创建三个精灵,后两个参数是创建两个标签,用于显示提示的文本
c.创建一个9妹图:用于缩放时,解决边框的毛刺问题
实现原理:用于处理图片放大时边框的毛刺和失真问题,它的原理是,将图片切割成9块,四个边角不放大,其余块缩放,从而可以有效的改善毛刺问题
创建一个9妹图:
CCScale9Sprite *s9spr = CCScale9Sprite::create("UI/scale9.png", CCRectMake(0, 0, 116, 102),CCRectMake(10,7,96,88));//后两个参数是设置图片大小和要缩放的矩形区域的大小,还不如不设置,使用默认的参数
d.创建一个控件按钮:CCControlButton,响应事件够多,够复杂,其实是多个其他控件的组合
CCScale9Sprite *bgButton = CCScale9Sprite::create("UI/button.png");//创建背景的按钮
CCScale9Sprite *bgButtonLighted = CCScale9Sprite::create("UI/buttonHighlighted.png");//创建选中的按钮
CCLabelTTF * text = CCLabelTTF::create("Touch Me", "Couier New", 50);
CCControlButton *button = CCControlButton::create(text,bgButton);
4.给控件添加响应事件: addTargetWithActinForControlEvents()
button->addTargetWithActionForControlEvents(this, cccontrol_selector(T12UI::touchDownCallBack),CCControlEventTouchDown);
Cocos2dx中的四种控件及主要用法