cocoStudio UI编辑器 学习总结

一、控件

控件基类

UIWidget:所有UI控件的基类
addChild:添加UIWidget类型的节点



addRenderer:添加CCNode类型的节点

所有UIWidget,都可以设置成触摸setTouchEnable(true)

setTouchEnable(true)

addTouchEventListener(CCObject* target,SEL_TouchEvent selector):设置触摸处理
setName:设置名字
getRect:获取尺寸

scale9:9宫格相关东西,拼接成大图

setScale9Enabled(true);

setSize(size);

 

UIButton:

备注:按钮

setPressedActionEnabled:添加按下放大动画

addTouchEventListener(this, toucheventselector(UIButtonTest::touchEvent));

 

UITextButton

备注:按钮,按钮上面带文字

setText:设置显示内容

 

UICheckBox

备注:CheckBox,不解释

addEventListenerCheckBox:选择效果变化触发方法

 

UISlider

备注:滑动条

loadBarTexture:设置背景长条纹理

loadSlidBallTextures:设置滚球纹理

loadProgressBarTexture:设置进度条纹理

addEventListenerSlider:进度变化调用,getPercent获取值(0~100)

setCapInsets(CCRectMake(0, 0, 0, 0));被设置scale9时,需要调用

 

UILoadingBar

备注:进度条,与滑动条的区别在于没有滑动按钮

setTexture:设置纹理

setPercent:设置进程(0~100)

setDirection(LoadingBarTypeRight):默认从左到右

setCapInsets(CCRectMake(0, 0, 0, 0));被设置scale9时,需要调用

 

UILabelAtlas

备注:图片文字控件

setProperty("1234567890", "cocosgui/labelatlas.png", 17, 22, "0")

 

UITextArea

备注:文字区域控件,显示大段换行文字

setTextAreaSize:设置显示区域

setTextHorizontalAlignment(kCCTextAlignmentCenter):设置显示模式

setText:设置内容

 

UITextField

备注:输入法控件

setPlaceHolder:设置无内容时的显示

addEventListenerTextField:设置回调

setMaxLengthEnable:字数限制开关

setMaxLength:字数限制个数

setPasswordEnable:密码模式开关

setPasswordStyleText(“*”):密码显示替代符

 

UILayout(panel)

备注:容器

setSize:大小

setBackGroundColorType:抹色类型(支持均匀、梯度)

setBackGroundColor:抹色的色值

setClippingEnabled:图片背景开关

setBackGroundImage:图片

setBackGroundImageScale9Enabled:9碎片拼接开关

setBackGroundImage:9碎片纹理

setLayoutType(LAYOUT_LINEAR_VERTICAL);设置陈立方式

//陈立参数

UILinearLayoutParameter* lp1 = UILinearLayoutParameter::create();

button->setLayoutParameter(lp1);

lp1->setGravity(LINEAR_GRAVITY_CENTER_HORIZONTAL);

lp1->setMargin(UIMargin(0, 5, 0, 10));

 

UIScrollView

备注:滚动容器(任意UIWidget类型)它以左上角为锚点

setBounceEnabled:弹跳开关,拉过了之后,可以弹回来

setInnerContainerSize:设置内部实际大小,必须大于等于size

setDirection(SCROLLVIEW_DIR_HORIZONTAL):设置滚动方向

addChild:UIWidget都可以

 

UIPageView

备注:翻页容器(必须UILayout)

addPage:添加UILayout对象

getPage:获取当前页数

addEventListenerPageView:回调方法

case PAGEVIEW_EVENT_TURNING:

UIPageView* pageView = dynamic_cast<UIPageView*>(pSender);

 

UIListView

备注:同UIScrollView(只能UILayout)

setDirection(LISTVIEW_DIR_HORIZONTAL);:朝向

setBackGroundImageScale9Enabled:背景

setBackGroundImage:背景

addEventListenerListView:回调方法(完成初始化时,list发生变化时)

initChildWithDataLength:设置数据个数

addChild:只能添加UILayout类型

getUpdateDataIndex:获取更新的索引值

getUpdateChild:获取更新项

setUpdateSuccess:设置更新状态

(不用设置listView内数据的总尺寸大小)

 

UIDragPanel

备注:拖拽容器(任意UIWidget)

setBackGroundImageScale9Enabled

setBackGroundImage

setBounceEnabled:弹跳开关,拉过了之后,可以弹回来

setSize:设计显示大小

setInnerContainerSize:设置实际大小

 

UINodeContainer

备注:CCNode容器,与CCNode挂钩

addCCNode:添加各种CCNode,如CCSprite

addRenderer:也可以添加CCNode,每个UIWidget拥有

 

二、程序使用

//UI层创建

UILayer* ul = UILayer::create();

UILayout* widget = dynamic_cast<UILayout*>(GUIReader::shareReader()->widgetFromJsonFile("ui_file/gameInfo_1.json"));

Ul->addWidget(widget);

 

//获取

UIImageView * lifeBar = (UIImageView *)ul->getWidgetByName("lifeBar");

 

//释放

onExit或析构中需调用(否则内存泄露)

GUIReader::shareReader()->purgeGUIReader();

DictionaryHelper::shareHelper()->purgeDictionaryHelper();

ActionManager::shareManager()->purgeActionManager();

你可能感兴趣的:(编辑器)