前端之家收集整理的这篇文章主要介绍了
cocosbuilder 使用的那些事[不断完善中],
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1.命名及使用
1.1 命名
CCB中的变量命名就不用'_'下划线开头了,以免和代码中的私有变量冲突。命名均以小驼峰风格写,命名要求有意义,不是常用词尽量不要简写。
对象命名:
对象命名后面带上对象类型,比如顶部整体Node:topNode,tableView预留位置的Node:tableViewNode,返回大厅动
画:backToHallAction
回调命名:
动画回调命名最后以*CallBack 结尾或者简写CB。
按钮回调以onClickAAAABBBB开头。
作用+标示后缀
作用:用有意义的名字,驼峰方式命名,英文命名。
控件 简称 备注 例子
Controlbutton--CBtn (CCMenu不用) backToHallCBtn
Sprite Spr hallBgSpr,headSpr
9Sprite 9Spr panelBg9Spr
Node Node (不用Layer,如果真用Layer就是单一CCB) topNode,bottomNode,hallDizhuBtnNode
Scroll Scroll friendRankScroll
labelTTF TTF userNameTTF
labelBMFont BMF userCoinsBMF
1.2 对象使用
使用CCB里面的对象的时候直接用controller['对象名']的形式,比如初始化大厅中玩家姓名
hallController['userNameTTF'].setString("测试");
不需要写成
var userName = hallController['userNameTTF'];
userName.setString("测试");
@H_
301_68@
拆分CCB,总共分为3种拆分:功能模块拆分、动画拆分、层(场景)拆分
功能模块拆分:
除了一级大厅和桌面大功能模块尽量按每个模块一个CCB进行拆分,最好每个功能模块控制在一张1024的png大图以内。大图控制在功能级
在一个CCB种饮用资源控制在本功能模块plist,common,hall最多3个地方,比如设置面板,setting.plist,common.plist。引用的图如果
其他功能模块也存在,那么就放在公共图中。
动画拆分:
只要是无限循环的动画CCB就独立出来。序列帧动画独立出来。关于大图部分,几个共属于同一个功能模块或者同一个场景的放在一个大
图中。
层(场景)拆分:
有时候一个场景会分多个部分,比如页签形式的,那么没页签内的不同部分就可以独立出来单做CCB。
Node主要有两个作用:结构划分,整体操作。
结构划分:
比如大厅可以从结构上分为上、中、下 ,那么再CCB中就可以用Node将整体分为topNode、bodyNode、bottomNode三部分,比如bottomNode
中用户信息部分由,头像,头像按钮,头像边框,姓名板等多个部分组成,就可以放在一个userNode中挂在bottomNode节点下面。这样做的
目的是便于后期维护和管理。比如我想修改头像部分一看屏幕展现形式很容易打开bottomNode在看userNode快速定位。
整体操作:
当需要作为整体做操作的时候也需要套一个Node,比如:一个复杂的按钮,里面有无限播放的动画,有背景,有触摸操作,就可以将这个复杂
的按钮放在一个Node里面,通过ControlButton或者自定义按钮接受点击事件,完成整体按钮处理以及反应动画等。
动画拆分:有序动画、无序动画、无限循环动画、动画嵌入动画。
有序动画:
有序动画里面的每个动作的执行顺序固定,比如大厅动画,进入大厅先上下部分动,再中间,每次都是。如此我可以将不同顺序的动画拆
分。比如我可以将上下部分的动画保存为:enterHallTBAction,中间保存为enterHallBodyAction.然后在enterHallTBAction的动画编
辑区的最下面No chained Timeline,处选择enterHallBodyAction.
这样做便于部分修改,播放的时候只需要执行enterHallTBAction就可以得到完整动画。如果修改中间或者上下部分动画,单独修改互不影
响。
无序动画:
无序动画的每个动作执行顺序不一定,那么就需要拆分成多个timeline来进行,比如结果框动画,多个表现,需要在不同条件下组合出发。
多个动画组合可以通过代码控制,也可以在动画上callback区域插入回调帧,在回调中根据条件灵活处理。动画回调不要和游戏逻辑紧密配
合,只限于做动画链接。
无限循环动画:
无限循环动画,每个无限循环部分单独CCB处理,选择AutoPlay方式,加入即自动播放,或者取消AutoPlay自己控制。
动画嵌入动画:
动画嵌入动画,子动画需要用Node站位置,在代码中将子动画CCB加入到其中即可。