zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    进阶之路 | 奇妙的Drawable之旅
    进阶之路 | 奇妙的Animation之旅
    进阶之路 | 奇妙的四大组件之旅
    Laravel
    Laravel 入门
    面试:给我说说你平时是如何优化MySQL的?
    EXPLAIN 查看 SQL 执行计划
    常见的图文布局
    常见的图文布局
    CSS3 的 filter(滤镜) 属性
  • 原文地址:https://www.cnblogs.com/hewei2012/p/3456415.html
Copyright © 2011-2022 走看看