cocos2dx 3.10 功夫小子学习笔记

一 目的

学习,并作为练习的一个案例

github 地址  https://github.com/baidang201/KungFuChild


教程地址:

http://suool.net/2015/07/30/My-Cocos2d-x-Game-Class-For-JiKeXueYuan/


二 大纲

1 概要
   了解游戏设计的大概结构

2 基础类
《1 工具类实现
《2 英雄类实现
《3 简单AI怪物实现

3 主菜单和秘籍界面
《1 资源异步加载(图片纹理  精灵缓存 声音(要使用线程异步加载)),使用过渡页达到目的
《2 Menu家族菜单的使用
《3 UserDefault简单配置文件使用

4 设置和图鉴界面
《1 ControlSider 用法,滑动条
《2 MenuItemToggle 用法,开关菜单控件
《3 ListView 列表视图

5 帮助和选关界面
 《1 帮助页面,裁剪页ClippingNode使用,类似于flash的蒙版,用于实现字幕滚动。
 《2 OrbitCamera action 视角按照球面坐标轨迹 围绕屏幕中心进行旋转  


6 主场景界面
 《1 ControlButton 按钮的使用
 《2 ProgressTimer 进度条的使用

《3 暂停和继续,使用了截图类(RenderTexture),为了屏蔽触摸事件到后面的操作按钮

《4 使用了视差节点类,造成远景近景层次移动效果(ParallaxNode)



7 主逻辑
《1 游戏暂停的实现,使用RenderTexture。可用于截屏
《2 游戏结算的场景实现(遮罩层屏蔽触摸)

8 打包为apk
《1 基础组件(jdk python sdk ndk ant)
《2 cocos命令行打包
《3 eclipse/android studio打包


三  小结

1 异步加载。

纹理,动画有异步接口,声音资源只能写线程预加载(cocos2dx 3.10)


2 Menu家族比较

文字菜单

图片/精灵菜单

开关菜单

比较特别的是开关菜单项,回调函数在第一个参数位置,大概是为了实现后面放可变参数吧

MenuItemToggle * MenuItemToggle::createWithCallback(const ccMenuCallback &callback, MenuItem* item, ...)

其他的是

MenuItemSprite * MenuItemSprite::create(Node* normalSprite, Node* selectedSprite, Node* disabledSprite)

 

3 view家族比较

scroolView,ListView,PageView,TableView


4 windows32平台(cocos2dx 3.10),调节背景音乐 音效的接口居然无效,看了例子改写cocos2d\cocos\audio\win32  如下3个文件,使用windowsAPI mciSendCommand实现

MciPlayer.cpp
MciPlayer.h
SimpleAudioEngine.cpp


5 改进方向

《1 使用有限状态机改写本游戏项目
《2 为怪物添加更强大的AI,改进现有的碰撞检测
《3 怪物的产生使用读取配置文件的方式
《4 将游戏GameLayer各个层分开实现,降低程序的耦合性。
《5 组合按键,生成新的技能系统

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值