欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Cocos2d-x学习笔记(12)(CCControlSwitch开关、CCControlSlide

程序员文章站 2022-06-03 21:22:08
...

CCEditBox、CCControlSwitch、CCControlSlider、CCControlColourPicker、CCControlButton等都是Cocos2d-x 2.x的最新UI扩展,通过#include cocos-ext.h导入 一、CCControlSwitch 1、创建方式 1)CCControlSwitch::create(cocos2d::CCSprite* maskSprite

CCEditBox、CCControlSwitch、CCControlSlider、CCControlColourPicker、CCControlButton等都是Cocos2d-x 2.x的最新UI扩展,通过#include "cocos-ext.h"导入

一、CCControlSwitch

1、创建方式

1)CCControlSwitch::create(cocos2d::CCSprite* maskSprite,cocos2d::CCSprite* onSprite,cocos2d::CCSprite* offSprite,cocos2d::CCSprite *thumbSprite)

参数1:Sprite对象作为掩饰底图

参数2:Sprite对象作为卡开状态图

参数3:Sprite对象作为关闭状态图

参数4:Sprite对象作为拨动开关的触发图,用于改变开关状态

2)CCControlSwitch::create(cocos2d::CCSprite* maskSprite,cocos2d::CCSprite* onSprite,cocos2d::CCSprite* offSprite,cocos2d::CCSprite *thumbSprite,cocos2d::CCLabelTTF* oneLabel,cocos2d::CCLabelTTF* offLabel)

参数1、2、3、4如上

参数5:CCLabelTTF对象,作为标明打开状态的文字

参数6:CCLabelTTF对象,作为标明关闭状态的文字

2、主要函数

1)void setOn(bool isOn)//设置开关状态

2)bool isOn(void)//获取开关状态

3)bool hasMove()//获取当前开关是否为用户手动拨动开关,获取的不是开关是否正在被用户拨动,而是开关最终状态是由用户手动拨动还是用户点击进行的状态更改

4)void setEnabled(bool enabled)//设置开关是否可被操作

二、CCControlSlider

1、创建方式

CCControlSlider::create(const char* bgFile,const char* progressFile,const char* thumFile)

参数1:滑动条的背景资源图名称

参数2:填充当前滑动的资源图名称

参数3:操作滑动条的资源图名称

2、常用函数

1)setValue(float val)//设置当前滑动条的值

2)float getValue()//获取当前滑动条的值

3)setMinimumValue(float val)//设置滑动条的最小滑动值

4)setMaximumValue(float val)//设置滑动条的最大值

5)addTargetWithActionForControlEvent(cocos2d::CCObject* target,SEL_menuHandler action,CCControlEvent controEvent)

参数1:目标对象

参数2:目标函数

参数3:监听动作事件类型,如按下、抬起、取消、控件值发生变化等

三、CCControlButton按钮

1、创建方式

1)CCControlButton::create(cocos2d::extension::CCScale9Sprite* backgroundSprite)

2)CCControlButton::create(cocos2d::CCNode* label,cocos2d::extension::CCScale9Sprite* backgroundSprite)

2、常用函数

1)setBackgroundSpriteForState(CCScale9Sprite* sprite,CCControlState state)//设置当按钮响应了对应事件后的CCScaleSprite对象

参数1:新的CCScale9Sprite类型

参数2:CCControlState响应的事件

2)setTitleColorForState(ccColor3B color,CCControlState state)//设置当按钮响应了对应事件后文本的颜色

参数1:新的ccColor3B类型

参数2:响应的事件

3)setTitleForState(CCString* title,CCControlState state)//设置当按钮响应了对应事件后的文本,CCControlState是枚举变量

参数1:新的CCString类型

参数2:响应的事件

(1)CCControlEventTouchDown:按下

2)CCControlEventTouchDragInside:在其内部拖动

3)CCControlEventTouchDragOutSize:在其外部拖动

4)CCControlEventTouchDragEnter:拖动进入其内部

5)CCControlEventTouchDragExit:拖动离开其内部

(6)CCControlEventTouchUpInside:在其内部抬起

(7)CCControlEventTouchUpOutside:在其外部抬起

(8)CCControlEventTouchCancel:取消当前所有触点