cocoStudio UI编辑器 学习总结(转)

转载:http://www.cnblogs.com/hewei2012/p/3456415.html


一、控件

控件基类

1
UIWidget:所有UI控件的基类
1
2
3
addChild:添加UIWidget类型的节点
 
addRenderer:添加CCNode类型的节点

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

1
2
setTouchEnable( true )
addTouchEventListener(CCObject* target,SEL_TouchEvent selector):设置触摸处理<br>setName:设置名字<br>getRect:获取尺寸

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

1
2
setScale9Enabled( true );
setSize(size);

 

UIButton:

1
2
3
备注:按钮
setPressedActionEnabled:添加按下放大动画
addTouchEventListener( this , toucheventselector(UIButtonTest::touchEvent));

 

UITextButton

1
2
备注:按钮,按钮上面带文字
setText:设置显示内容

 

UICheckBox

1
2
备注:CheckBox,不解释
addEventListenerCheckBox:选择效果变化触发方法

 

UISlider

1
2
3
4
5
6
备注:滑动条
loadBarTexture:设置背景长条纹理
loadSlidBallTextures:设置滚球纹理
loadProgressBarTexture:设置进度条纹理
addEventListenerSlider:进度变化调用,getPercent获取值(0~100)
setCapInsets(CCRectMake(0, 0, 0, 0));被设置scale9时,需要调用

 

UILoadingBar

1
2
3
4
5
备注:进度条,与滑动条的区别在于没有滑动按钮
setTexture:设置纹理
setPercent:设置进程(0~100)
setDirection(LoadingBarTypeRight):默认从左到右
setCapInsets(CCRectMake(0, 0, 0, 0));被设置scale9时,需要调用

 

UILabelAtlas

1
2
备注:图片文字控件
setProperty( "1234567890" , "cocosgui/labelatlas.png" , 17, 22, "0" )

 

UITextArea

1
2
3
4
备注:文字区域控件,显示大段换行文字
setTextAreaSize:设置显示区域
setTextHorizontalAlignment(kCCTextAlignmentCenter):设置显示模式
setText:设置内容

 

UITextField

1
2
3
4
5
6
7
备注:输入法控件
setPlaceHolder:设置无内容时的显示
addEventListenerTextField:设置回调
setMaxLengthEnable:字数限制开关
setMaxLength:字数限制个数
setPasswordEnable:密码模式开关
setPasswordStyleText(“*”):密码显示替代符

 

UILayout(panel)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
备注:容器
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

1
2
3
4
5
备注:滚动容器(任意UIWidget类型)它以左上角为锚点
setBounceEnabled:弹跳开关,拉过了之后,可以弹回来
setInnerContainerSize:设置内部实际大小,必须大于等于size
setDirection(SCROLLVIEW_DIR_HORIZONTAL):设置滚动方向
addChild:UIWidget都可以

 

UIPageView

1
2
3
4
5
6
备注:翻页容器(必须UILayout)
addPage:添加UILayout对象
getPage:获取当前页数
addEventListenerPageView:回调方法
case PAGEVIEW_EVENT_TURNING:
UIPageView* pageView = dynamic_cast <UIPageView*>(pSender);

 

UIListView

1
2
3
4
5
6
7
8
9
10
11
备注:同UIScrollView(只能UILayout)
setDirection(LISTVIEW_DIR_HORIZONTAL);:朝向
setBackGroundImageScale9Enabled:背景
setBackGroundImage:背景
addEventListenerListView:回调方法(完成初始化时,list发生变化时)
initChildWithDataLength:设置数据个数
addChild:只能添加UILayout类型
getUpdateDataIndex:获取更新的索引值
getUpdateChild:获取更新项
setUpdateSuccess:设置更新状态
(不用设置listView内数据的总尺寸大小)

 

UIDragPanel

1
2
3
4
5
6
备注:拖拽容器(任意UIWidget)
setBackGroundImageScale9Enabled
setBackGroundImage
setBounceEnabled:弹跳开关,拉过了之后,可以弹回来
setSize:设计显示大小
setInnerContainerSize:设置实际大小

 

UINodeContainer

1
2
3
备注:CCNode容器,与CCNode挂钩
addCCNode:添加各种CCNode,如CCSprite
addRenderer:也可以添加CCNode,每个UIWidget拥有

 

二、程序使用

1
2
3
4
//UI层创建
UILayer* ul = UILayer::create();
UILayout* widget = dynamic_cast <UILayout*>(GUIReader::shareReader()->widgetFromJsonFile( "ui_file/gameInfo_1.json" ));
Ul->addWidget(widget);

 

1
2
//获取
UIImageView * lifeBar = (UIImageView *)ul->getWidgetByName( "lifeBar" );

 

1
2
3
4
5
//释放
onExit或析构中需调用(否则内存泄露)
GUIReader::shareReader()->purgeGUIReader();
DictionaryHelper::shareHelper()->purgeDictionaryHelper();
ActionManager::shareManager()->purgeActionManager();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
About CocoStudio is a game development tool kit based on Cocos2d-x. It breaks down tasks in game development into different roles, it includes: UI editor for UI graphic artists, Animation editor for graphic artists, Number cruncher for game data designers, Scene editor for game designers CocoStudio forms a complete game development solution. The UI editor The UI was designed to serve its only purpose: create UI for games. Its simple and intuitive interface allows graphic artists to focus on their expertise, without worrying about other aspects such as programming. Currently the UI editor has 12 different UI elements ready to be used in games, new UI elements will be added with each and every release of CocoStudio, Other key features that the UI editor supports are: Texture packaging - Automatically packs individual texture files into a single large sprite, which further saves memory and improves game performance. Multi-resolution adaption - Automatically adapts to multiple resolution sizes with relative UI positioning. Templating - Reuse the same UI layout across different games, swap out texture resources to give it a new look. The Animation editor The Animation editor was designed to feel like Adobe Flash, which makes graphic artists feel right at home. The Animation editor brings skeletal animation to Cocos2d-x. What advantage does skeletal animation holds against the traditional frame animation? Lower memory consumption - An animation with the traditional frame based solution could use dozens of individual textures, but with skeletal animation, only 1 set of body parts is required to make infinite number of different animations. Smaller file size - due to less number of assets. Animation blending - you can combine animations together to easily make new animation, for example, you could blend attacking animation with walk animation to create "attacking while walking animation". Animation reuse - you can share skeletal animations with another character with the same skeleton setup. Smooth interpolation - traditional frame based animation is very choppy especially in slow motion. Skeletal animation interpolates between 2 sets of key frames, so animation is always played at the same frame rate as the game. However Skeletal animation cannot replace the traditional frame based animation, for example, it cannot make isometric character, it cannot make explosion, that is why we did not forget frame based animation, we even made it better and simpler. You only have to drag and drop frame sequences to the work space, and the animation editor will automatically creates the frame animation for you. Other highlight of Animation editor includes: WYSIWYG collision box editing - editing collision box in wysiwyg way has never being easier and accurate. Reference point - enables characters to wield swords, mount horses, and attaching other objects easily. Texture packing - Automatically packs individual texture files into a single large sprite, which further saves memory and improves game performance. The Data Cruncher The data Cruncher imports excel tables and converts the data into a format readable by cocos2d-x, which can also be used as a component for the Scene editor. The Scene editor The scene editor pieces all the assets made by the UI editor, Animation editor, and the Data Cruncher into a game scene, it can then simulate the game inside the editor. The scene editor also supports many assets made from third party editors such as particle designer, tiled etc. The scene editor relies on the CocosStudio Framework. CocoStudio Framework CocoStudio Framework is an open source higher level framework on top of Cocos2d-x, it employes entity and component system, it is used to read the data saved from the scene editor. The Scene editor saves data in a MVC like fashion, it includes all entities and events used in the current scene, and exports to corresponding code template for the programmers. A programmer can then write the code in Javascript to bring the game alive. CocoStudio的安装 1.CocoStudio的运行平台是Windows操作系统,推荐使用Windows7操作系统。 2.安装CocoStudio之前,确保电脑中安装了.Net 4.0 Framework 3.安装目录尽量不要在C盘的Program Files文件夹下,可能会导致启动器无法启动编辑器。当然,通过“以管理员身份运行”的方式也可以打开软件 4.在Xp和Windows8的操作系统下,可能会出现的闪屏或无法运行的问题。这个问题会尽快修复

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值