CocosUI之colorswitch和Slider

本文详细介绍了CocosUI中的ColorSwitch和Slider组件的使用方法,包括创建、设置回调函数以及调整其视觉效果。通过示例代码展示了如何创建开关控件和滑动条,并监听它们的值变化事件。
摘要由CSDN通过智能技术生成

ColorSwitch(类似于开关控件)

是由一堆精灵组成的

ControlSwitch* s = ControlSwitch::create(

            Sprite::create("extensions/switch-mask.png"),//背景

            Sprite::create("extensions/switch-on.png"),//开始

            Sprite::create("extensions/switch-off.png"),//结束

            Sprite::create("extensions/switch-thumb.png"),//按钮

            Label::createWithSystemFont("On", "Arial", 16),

            Label::createWithSystemFont("Off", "Arial", 16)

            );

addChild(s);

s->setPosition(200,200);

/* 可以设置按钮回调函数 参数1是调用回调的控件,参数2是函数,参数3是事件类型*/

s->addTargetWithActionForControlEvents(this, (Control::Handler)(&T020701UI::Handler), Control::EventType::VALUE_CHANGED);

/*回调函数 参数1就是调用这个函数的控件,参数2 则是触发的事件类型,显然这个事件类型是某个专门的事件类中定义的*/

void Handler(Ref* sender, Control::EventType type)

{

        ControlSwitch* s = (ControlSwitch*)sender;

 

        CCLOG("called valueis %d", (int)s->isOn());

    }

 

效果如下:    

     

ColorSwitch(类似于开关控件)

是由一堆精灵组成的

ControlSwitch* s = ControlSwitch::create(

            Sprite::create("extensions/switch-mask.png"),//背景

            Sprite::create("extensions/switch-on.png"),//开始

            Sprite::create("extensions/switch-off.png"),//结束

            Sprite::create("extensions/switch-thumb.png"),//按钮

            Label::createWithSystemFont("On", "Arial", 16),

            Label::createWithSystemFont("Off", "Arial", 16)

            );

addChild(s);

s->setPosition(200,200);

/* 可以设置按钮回调函数 参数1是调用回调的控件,参数2是函数,参数3是事件类型*/

s->addTargetWithActionForControlEvents(this, (Control::Handler)(&T020701UI::Handler), Control::EventType::VALUE_CHANGED);

/*回调函数 参数1就是调用这个函数的控件,参数2 则是触发的事件类型,显然这个事件类型是某个专门的事件类中定义的*/

void Handler(Ref* sender, Control::EventType type)

{

        ControlSwitch* s = (ControlSwitch*)sender;

 

        CCLOG("called valueis %d", (int)s->isOn());

    }

 

效果如下:

       

 

Slider滑动控件(如调节音量)

同样是一堆精灵组成这个控件外观

ControlSlider* slider = ControlSlider::create(

            "ccs-res/cocosui/sliderTrack.png",

            "ccs-res/cocosui/sliderProgress.png",

            "ccs-res/cocosui/sliderThumb.png");

 

addChild(slider);

slider->setPosition(200,200);

 

/* 可以设置滑动范围 0——1之间 */

slider->setMinimumValue(0);

slider->setMaximumValue(1);

/*  最大和最小允许滑动范围      */

slider->setMaximumAllowedValue(.7f);

slider->setMinimumAllowedValue(.2f);

/*  设置初始位置        */

slider->setValue(.5f);

/* 设置事件监听——监听滑动状态*/

slider->addTargetWithActionForControlEvents(this, (Control::Handler)(&T020701UI::HandlerSlider), Control::EventType::VALUE_CHANGED);

/* 回调函数*/

void HandlerSlider(Ref* sender, Control::EventType type)

{

        ControlSlider* s = (ControlSlider*)sender;

        CCLOG("called valueis %f",s->getValue());

}

ColorSwitch(类似于开关控件)

是由一堆精灵组成的

ControlSwitch* s = ControlSwitch::create(

            Sprite::create("extensions/switch-mask.png"),//背景

            Sprite::create("extensions/switch-on.png"),//开始

            Sprite::create("extensions/switch-off.png"),//结束

            Sprite::create("extensions/switch-thumb.png"),//按钮

            Label::createWithSystemFont("On", "Arial", 16),

            Label::createWithSystemFont("Off", "Arial", 16)

            );

addChild(s);

s->setPosition(200,200);

/* 可以设置按钮回调函数 参数1是调用回调的控件,参数2是函数,参数3是事件类型*/

s->addTargetWithActionForControlEvents(this, (Control::Handler)(&T020701UI::Handler), Control::EventType::VALUE_CHANGED);

/*回调函数 参数1就是调用这个函数的控件,参数2 则是触发的事件类型,显然这个事件类型是某个专门的事件类中定义的*/

void Handler(Ref* sender, Control::EventType type)

{

        ControlSwitch* s = (ControlSwitch*)sender;

 

        CCLOG("called valueis %d", (int)s->isOn());

    }

 

效果如下:

       

 

Slider滑动控件(如调节音量)

同样是一堆精灵组成这个控件外观

ControlSlider* slider = ControlSlider::create(

            "ccs-res/cocosui/sliderTrack.png",

            "ccs-res/cocosui/sliderProgress.png",

            "ccs-res/cocosui/sliderThumb.png");

 

addChild(slider);

slider->setPosition(200,200);

 

/* 可以设置滑动范围 0——1之间 */

slider->setMinimumValue(0);

slider->setMaximumValue(1);

/*  最大和最小允许滑动范围      */

slider->setMaximumAllowedValue(.7f);

slider->setMinimumAllowedValue(.2f);

/*  设置初始位置        */

slider->setValue(.5f);

/* 设置事件监听——监听滑动状态*/

slider->addTargetWithActionForControlEvents(this, (Control::Handler)(&T020701UI::HandlerSlider), Control::EventType::VALUE_CHANGED);

/* 回调函数*/

void HandlerSlider(Ref* sender, Control::EventType type)

{

        ControlSlider* s = (ControlSlider*)sender;

        CCLOG("called valueis %f",s->getValue());

}

  

 

Slider滑动控件(如调节音量)

同样是一堆精灵组成这个控件外观

ControlSlider* slider = ControlSlider::create(

            "ccs-res/cocosui/sliderTrack.png",

            "ccs-res/cocosui/sliderProgress.png",

            "ccs-res/cocosui/sliderThumb.png");

 

addChild(slider);

slider->setPosition(200,200);

 

/* 可以设置滑动范围 0——1之间 */

slider->setMinimumValue(0);

slider->setMaximumValue(1);

/*  最大和最小允许滑动范围      */

slider->setMaximumAllowedValue(.7f);

slider->setMinimumAllowedValue(.2f);

/*  设置初始位置        */

slider->setValue(.5f);

/* 设置事件监听——监听滑动状态*/

slider->addTargetWithActionForControlEvents(this, (Control::Handler)(&T020701UI::HandlerSlider), Control::EventType::VALUE_CHANGED);

/* 回调函数*/

void HandlerSlider(Ref* sender, Control::EventType type)

{

        ControlSlider* s = (ControlSlider*)sender;

        CCLOG("called valueis %f",s->getValue());

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值