cocos2dx 实习生培训计划(自学参考)
一、实习期目标
二、计划表
第一周 了解cocos2dx基础知识
- 先熟悉下mac,安装一些必要的软件,有问题找自己导师,但是,能网上搜到答案的请自己解决!
- Accordion组件任务
第二周 熟悉Lua
- 根据http://book.luaer.cn/ 学习并熟悉lua基础知识和用法;
- 使用lua编写脚本实现功能:
输出指定文件夹下所有lua代码文件中有中文的文件(不算print里面,以及注释里面的中文)。
- 使用lua实现面向对象,并给出测试样例;
第三周 进一步熟悉cocos2d-lua以及lua绑定
- 完成第一周组件的lua绑定,完成手动绑定以及脚本绑定
- 模仿don`t shoot yourself 做小游戏
第四周 使用 cocos2d-lua 完成以下需求
- 模仿DSY游戏的功能选择界面完成以下功能:
- 游戏介绍[自带循环滚屏功能,点击停止滚屏,可拖动滚屏];
- 基本设置(reset,mute,lefthanded,controls);
- 选择关卡界面;
- 上下页面增加按钮点击跳转;
- 增加关卡;
- 增加音效;
自行设计滚动数字文本组件NumberScrollLabel,用于游戏界面连射值的表现; 参考(仅供参考) --[[
@brief:滚动数字文本组件
@param anchorPoint 锚点(如UI.POINT_LEFT_BOTTOM)
@param width 滚动单个数字文本宽
@param height 滚动单个数字文本高
@param number 数字文本默认显示的值
@param labelCount 滚动数字文本最大的预处理数字文本个数,默认为5
@param startCharMap 滚动数字文本处理的起始字符
@param x 滚动数字组件x坐标
@param y 滚动数字组件y坐标
]]--
自行设计排列布局组件HBox,用于关卡选择界面排列: 参考(仅供参考) --[[
HBox
创建水平布局容器
@param x [number] x坐标
@param y [number] y坐标
@param anchorPoint [CCPoint] 锚点(如UI.POINT_LEFT_BOTTOM)
@param hAlign [userdata] 水平对齐方式
@param vAlign [userdata] 垂直对齐方式
@param gap [number] 子对象间的间隔
@param padding [CCPoint] 内边距
@param children [table] 子结点数组
@return 返回HBox对象
]]--
第五六周 做坦克大战
—————————————————————-
Accrodion
什么是Accordion
具体要求
- #### 代码要求
- 组件使用3.6版本的cocos2d-x C++编写,并通过tolua绑定到Lua上进行使用和测试;
- 良好的编码风格,遵循3.6引擎风格即可。
- #### 两种创建模式
- 全创建 kFRAccordionModeCreateAll:此模式下,create接口传入的
Vector<Node*>& items 参数中包含的类型为FRAccordionItem* ,也就是Title-Content的pair,所以后续点击不同的Title进行切换的时候,切换对应的Content展示内容即可;
- 动态创建 kFRAccordionModeCreateDynamic:create接口传入的
Vector<Node*>& items 参数中包含的类型为FRAccordionTitle* ,也就是只有Title,所以后续点击不同的Title进行切换的时候,需要进行Lua回调(由registerChangeScriptFunc 接口预先设置的Lua函数),并且在Lua回调里通过调用setCurrentContent 动态创建和设置要显示的Content。
- #### create参数解析
const Size& dimension :整个Accordion组件的尺寸,简单起见,目前只需要考虑固定尺寸的展示区域;
FRAccordionCreateMode mode :创建类型,参见上面解析;
Vector<Node*>& items :类型由mode 参数决定,即可能是FRAccordionItem 也可能是FRAccordionTitle ,前者是所有展示的Title-Content对,后者只提供Title,Content通过动态加载获得;
Tips:建议写个转换函数,统一转换成FRAccordionItem 的pair再做后续处理。
float gap :Title之间的间隙,默认是0.f。
#### 其余说明
- 头文件已经提供,仅供参考,必要的成员变量请自行添加;
- 只把必要的对外接口修饰为public,避免tolua自动绑定多余接口到Lua上。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|