编辑: 向日葵8AS 2016-08-20
1.

什么是cocos2d-x? ?是一套开放源代码,主要基于c,c++语言,针对windows,linux,mac,android,ios,bada,uphone,win8等操作系统平台的用户应用开发进行了封装,并集成了opengl,libcurl,poco等其他跨平台开源代码,重写了cocos2d-iphone的api,可以快速开发跨平台的游戏、图形应用. 下载地址www.cocos2d-x.org 2.为什么要学习cocos2d-x? 越来越多的公司都在做移动平台的产品开发和产品移植,ios,android,底层都支持使用c++进行程序开发,有些原来在 ios平台的应用使用objective-c开发的希望移植到android,使用cocos2d-x是一种比较明智的选择. 能够一套代码,多平台编译,运行.成本降低. cocos2d-x的programer要比做ios android应用的贵,毕竟要学的东西很多如,opengl,c++, objective-c,cocoa,android framework,java,jni,android ndk,windows程序设计,visual studio,eclipse,xcode.......各种辅助工具 3.如何学习cocos2d-x? A 先到官网下载一个,然后解压缩 B 在你电脑安装一个vs2010 C 启动vs2010打开哪个文件,请看图. D 在解决方案资源管理器找到项目列表,找到testCpp,右键,--》调试--》启动新实例. E 用你大脑控制鼠标,乱点 F 被该引擎绚丽的功能所吸引 该版本为cocos2d-2.0-x-2.0.3,截压缩以后如下图: 说说这些文件夹 cocos2dx 包含了该引擎的核心类,如果懂objective-c 和cocos2d-iphone的同学可以对比学习,是图形引擎在各平台的实现代码,当然也包括了多平台程序入口的一致化处理. CocosDenshion 包含了cocos2d-x音频引擎的多平台实现 Debug.win32 如果您在vs2008编译或运行了demo该目录为complie输出目录 document 你懂的 extensions 2.0新增的UI控件network api,CCScrollView,CCeditBox等external Box2D,chipmunk物理引擎的code licenses 如果实在闲的无聊可以打开,带有感情的读读. samples? 各种 demo, HellpCpp,HellpLua,SimpleGame,TestCpp,TestJavaScript,TestLua scripting javascript和lua脚本的各平台解析器code template 组织各平台项目文件的模版(很容易安装) tools? 工具,没用过,不知道是否有用,哪位达人用过可留言 文件夹说完再看几个文件 create-android-project.bat create-android-project.sh 用来创建android项目 install-templates-msvc.bat install-templates-x-code.bat 用来安装项目模版

2 ? 为什么要定义windows平台 ?因为在不同平台有不同的程序入口实现方式,如windos平台有main.h和main.cpp,android平台有入口的Activity,iso平台有main.m, ?但对于各平台的入口差异在cocos2d-x中做了完美的一致化处理,暂且不管是如何进行的,我们只需要基于一致的引擎入口进行开发就好了, 对于cocos2d-x引擎的入口我们定义为AppDelegate.h和AppDelegate.cpp看这里面的方法有三个,这几个方法会在各平台应用程序状态改变时候自动回调. 而状态的改变在不同平台是有差异的,cocos2d-x定义cocos2d::CCApplication类统一了各平台的差异,在cocos2d-x中只有1个窗口在运行(符合移动平台,但pc平台原本不是这样),窗口在分配空间,加载完成,被覆盖,被恢复时候会自动回调CCApplication中的函数,因此CCApplication在不同的平台,有不同的实现cpp,(有兴趣同学可以阅读cocos2ds/platform下面的源代码,从cocos2d::CCApplication.h开始) #ifndef? _APP_DELEGATE_H_?#define? _APP_DELEGATE_H_ #include cocos2d.h class? AppDelegate : private cocos2d::CCApplication?{?public:???? AppDelegate();

???? virtual ~AppDelegate();

???? virtual bool applicationDidFinishLaunching();

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题