CocosUI之colorswitch和Slider

来源:互联网 发布:linux下载系统 编辑:程序博客网 时间:2024/05/17 22:37

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::EventTypetype)

{

        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::EventTypetype)

{

        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::EventTypetype)

{

        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::EventTypetype)

{

        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::EventTypetype)

{

        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::EventTypetype)

{

        ControlSlider* s = (ControlSlider*)sender;

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

}

0 0
原创粉丝点击