零基础学Cocos2d-X 3.0 - 02
2014-04-15 23:47
423 查看
先看看项目的文件布置
1. 是 cocos2d-X 引擎库以及拓展库,源码都在那里,可以进入看看实现
2. 是 Cocos2d-X 引擎入口,说白了就是我们主要编码的地方,文件命名仿 iOS
3. 是 框架哦~~~
4. 是 iOS 版项目运行的主入口,iOS 开发人员将可以看到熟悉的文件命名
5. 是 Mac 版项目运行的主入口
6. 是产品存放目录
7. 是资源文件,如图片
作为Cocos2d-X 的初学者,我只想知道自己怎么可以有能力进行使用 Cocos2d-X 引擎编程,其他细节暂时不需要理解,不需要知道如果从iOS 加载引擎等等。
所以目光投放在编码的那个地方,那里一共有4个文件,类似iOS 编程那样有 AppDelegate,ViewController。
AppDelegate.h 在声明一些方法,对 C++ 不熟悉的应该好好学习 C++, 包括我自己~~~
AppDelegate.cpp 看到这个图的代码,对于iOS 开发者来说多熟悉啊
当整个项目启动后,会调用 AppDelegate 类中的 applicationDidFinishLaunching 函数。在此之前,经历了什么,暂时没有必要知道。
当应用程序被切换到运行后台的时候,会调用 AppDelegate 类中的 applicationDidEnterBackground 函数。
而当应用程序从运行后台切换回来的时候,相对的会调用 AppDelegate 类中的 applicationWillEnterForeground 函数。
这三个函数都是很重要的,对于开发者来说,必须知道的。
接下来,我们看看里面写了什么内容吧。
回想一下,(假设你有iOS 开发经验)想想在 applicationDidFinishLaunching 函数里面,一般会进行哪些操作。
对的,我们一般会初始化 window 和 ViewController,然后为window 指定一个 rootViewController 对象。
而在 Cocos2d-X 中,我们必须 一个导演(Director 类)以及导演需要的表演舞台(GLView 类),还有就是要表演的哪场戏(Scene 类)。
初始化导演,导演只有一个。
auto director = Director::getInstance();
或者写成
Director *director = Director::getInstance();
初始化表演舞台,表演舞台也有一个哦。
auto glview = director->getOpenGLView();
if(!glview) {
glview = GLView::create("My Game");
director->setOpenGLView(glview);
}
或者写成
GLView *glview = director->getOpenGLView();
if(!glview) {
glview = GLView::create("My Game");
director->setOpenGLView(glview);
}
首先,要问下导演有没有表演舞台,如果导演说nil 之类表示没有,则我们就要为导演创建一个舞台,之后将这个舞台交给导演管理。
导演可以设置这个舞台很多信息,比如是否显示 FPS,设置这个舞台表演时每个动作的帧数(要你快速就快速,慢速就慢速)。
director->setDisplayStats(true);
director->setAnimationInterval(1.0 /60);
好了,导演、舞台都有了,该是时候初始化要演出哪场戏了。
auto scene = HelloWorld::createScene();
或者写成
Scene *scene = HelloWorld::createScene();
恩,一切准备好了。
导演说要马上上演这场戏了。
director->runWithScene(scene);
上戏了~~~~~~
当舞台的银幕被拉下来的时候,导演就会让大家停止一切动作,休息一下吧。
void AppDelegate::applicationDidEnterBackground() {
Director::getInstance()->stopAnimation();
// if you use SimpleAudioEngine, it must be pause
// SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
}
如果播放了音乐的话,也可以暂停休息啊~~~
而当舞台的银幕被拉起来的时候,导演就会大家开始动作,继续演戏了,开始工作咯。
void AppDelegate::applicationWillEnterForeground() {
Director::getInstance()->startAnimation();
// if you use SimpleAudioEngine, it must resume here
// SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
}
之前关了的音乐,也可以重写播放啊~~~
哈哈,感觉多热闹啊,不知不觉写成这么生动化啊~~~
不过解析的清楚就算了~~~~
1. 是 cocos2d-X 引擎库以及拓展库,源码都在那里,可以进入看看实现
2. 是 Cocos2d-X 引擎入口,说白了就是我们主要编码的地方,文件命名仿 iOS
3. 是 框架哦~~~
4. 是 iOS 版项目运行的主入口,iOS 开发人员将可以看到熟悉的文件命名
5. 是 Mac 版项目运行的主入口
6. 是产品存放目录
7. 是资源文件,如图片
作为Cocos2d-X 的初学者,我只想知道自己怎么可以有能力进行使用 Cocos2d-X 引擎编程,其他细节暂时不需要理解,不需要知道如果从iOS 加载引擎等等。
所以目光投放在编码的那个地方,那里一共有4个文件,类似iOS 编程那样有 AppDelegate,ViewController。
AppDelegate.h 在声明一些方法,对 C++ 不熟悉的应该好好学习 C++, 包括我自己~~~
AppDelegate.cpp 看到这个图的代码,对于iOS 开发者来说多熟悉啊
当整个项目启动后,会调用 AppDelegate 类中的 applicationDidFinishLaunching 函数。在此之前,经历了什么,暂时没有必要知道。
当应用程序被切换到运行后台的时候,会调用 AppDelegate 类中的 applicationDidEnterBackground 函数。
而当应用程序从运行后台切换回来的时候,相对的会调用 AppDelegate 类中的 applicationWillEnterForeground 函数。
这三个函数都是很重要的,对于开发者来说,必须知道的。
接下来,我们看看里面写了什么内容吧。
回想一下,(假设你有iOS 开发经验)想想在 applicationDidFinishLaunching 函数里面,一般会进行哪些操作。
对的,我们一般会初始化 window 和 ViewController,然后为window 指定一个 rootViewController 对象。
而在 Cocos2d-X 中,我们必须 一个导演(Director 类)以及导演需要的表演舞台(GLView 类),还有就是要表演的哪场戏(Scene 类)。
初始化导演,导演只有一个。
auto director = Director::getInstance();
或者写成
Director *director = Director::getInstance();
初始化表演舞台,表演舞台也有一个哦。
auto glview = director->getOpenGLView();
if(!glview) {
glview = GLView::create("My Game");
director->setOpenGLView(glview);
}
或者写成
GLView *glview = director->getOpenGLView();
if(!glview) {
glview = GLView::create("My Game");
director->setOpenGLView(glview);
}
首先,要问下导演有没有表演舞台,如果导演说nil 之类表示没有,则我们就要为导演创建一个舞台,之后将这个舞台交给导演管理。
导演可以设置这个舞台很多信息,比如是否显示 FPS,设置这个舞台表演时每个动作的帧数(要你快速就快速,慢速就慢速)。
director->setDisplayStats(true);
director->setAnimationInterval(1.0 /60);
好了,导演、舞台都有了,该是时候初始化要演出哪场戏了。
auto scene = HelloWorld::createScene();
或者写成
Scene *scene = HelloWorld::createScene();
恩,一切准备好了。
导演说要马上上演这场戏了。
director->runWithScene(scene);
上戏了~~~~~~
当舞台的银幕被拉下来的时候,导演就会让大家停止一切动作,休息一下吧。
void AppDelegate::applicationDidEnterBackground() {
Director::getInstance()->stopAnimation();
// if you use SimpleAudioEngine, it must be pause
// SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
}
如果播放了音乐的话,也可以暂停休息啊~~~
而当舞台的银幕被拉起来的时候,导演就会大家开始动作,继续演戏了,开始工作咯。
void AppDelegate::applicationWillEnterForeground() {
Director::getInstance()->startAnimation();
// if you use SimpleAudioEngine, it must resume here
// SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
}
之前关了的音乐,也可以重写播放啊~~~
哈哈,感觉多热闹啊,不知不觉写成这么生动化啊~~~
不过解析的清楚就算了~~~~
相关文章推荐
- 【Cocos2d-x 3.0 基础系列一】 各类回调函数写法汇总
- Cocos2d-x 3.0- 脚本编程-Lua语法基础
- Cocos2d-x 3.0 中文基础教程-精灵帧缓存(SpriteFrameCache)
- 【cocos2d-x开发】01windows环境下搭建cocos2d-x 3.0 的基础环境
- cocos2d(3.0)一些基础的东西
- 【Cocos2d-x 3.0 基础系列一】 各类回调函数写法汇总
- 【Cocos2d-x 3.0 中文基础教程】精灵帧缓存
- Swift3.0基础知识脑图02
- 零基础学Cocos2d-X 3.0 - 03
- cocos2d(3.0)一些基础的东西
- 新建一个cocos2d-x 3.0项目 等基础操作
- 21天学会JavaScript之基础练习02
- MSSQLServer基础02(SQL语句入门(脚本、命令))
- 我们一起学ABAP (02)~基础语法与数据类型,输出到屏幕
- cocos2d-x 3.0 事件分发机制
- Cocos2d-x 3.0及以上版本资源及脚本解密
- 黑马程序员_02JAVA基础(1)
- 【Cocos2d-x 3.0学习笔记】动作,动画
- cocos2d-android基础——瞬时动作和延时动作
- 使用cocos2d-x 3.0 beta开发的小游戏