一 目的
学习,并作为练习的一个案例
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 组合按键,生成新的技能系统
原文链接:https://www.f2er.com/cocos2dx/339866.html