Cocos Studio工程分析

前端之家收集整理的这篇文章主要介绍了Cocos Studio工程分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在上一篇博客中介绍了如何使用Cocos Studio创建工程,这篇博客分析上一篇博客的工程,打开在上一篇博客中创建的工程后可以看到工程中的文件如下

文件分析:

Classes:存放跨平台的C++代码

cocosstudio放置项目中使用的所有资源

proj.android:用于开发Android上的游戏

proj.ios_mac:用于开发苹果手机上的游戏

proj.win32:用于开发Windows上的游戏

Resource:用于保存资源

cocos-project.json:项目配置文件

myProject.ccs:Cocos Studio项目的启动文件,双击该文件可以开启您的Cocos studio项目

myProject.cfg:项目配置文件,用于管理您的项目配置信息

myProject.udf:项目配置文件

使用Visual Studio 2012打开项目后的项目工程文件结构

代码分析:

main.cpp中的代码(本人已经注释)

  1. #include"main.h"
  2. #include"AppDelegate.h"
  3. #include"cocos2d.h"
  4. //Cocos2d-X的命名空间
  5. USING_NS_CC;
  6. //链接静态链接
  7. #if_MSC_VER>1700
  8. #pragmacomment(lib,"libcocos2d_2013.lib")
  9. #pragmacomment(lib,"libBox2d_2013.lib")
  10. #else
  11. Box2d_2012.lib")
  12. #endif
  13. //Cocos2d-X的main函数
  14. intAPIENTRY_tWinMain(HINSTANCEhInstance,
  15. HINSTANCEhPrevInstance,
  16. LPTSTRlpCmdLine,87); font-weight:bold; background-color:inherit">intnCmdShow)
  17. {
  18. UNREFERENCED_PARAMETER(hPrevInstance);
  19. UNREFERENCED_PARAMETER(lpCmdLine);
  20. //创建程序实例
  21. AppDelegateapp;
  22. //执行app的run方法
  23. returnApplication::getInstance()->run();
  24. }

AppDelegate.h中的代码(本人已经注释)


AppDelegate.cpp中的代码(本人已经注释)

copy
#include"AppDelegate.h"
  • #include"HelloWorldScene.h"
  • //Cocos2d-X的命名空间
  • USING_NS_CC;
  • //构造函数
  • AppDelegate::AppDelegate(){
  • }
  • //析构函数
  • AppDelegate::~AppDelegate()
  • }
  • //设置OpenGL属性
  • voidAppDelegate::initGLContextAttrs()
  • //设置OpenGL上下文属性,现在只能设置六个属性:
  • //红,绿,蓝,阿尔法,深度,模板
  • GLContextAttrsglContextAttrs={8,8,24,8};
  • GLView::setGLContextAttrs(glContextAttrs);
  • //程序启动完成后会进入的函数
  • boolAppDelegate::applicationDidFinishLaunching()
  • //初始化导演
  • autodirector=Director::getInstance();
  • //获得OpenGL视图
  • autoglview=director->getOpenGLView();
  • if(!glview)
  • //设置程序名和窗口的尺寸
  • glview=GLViewImpl::createWithRect("myProject",Rect(0,960,640));
  • //设置OpenGL视图
  • director->setOpenGLView(glview);
  • //设置分辨率
  • director->getOpenGLView()->setDesignResolutionSize(960,640,ResolutionPolicy::SHOW_ALL);
  • //设置是否显示调试信息
  • director->setDisplayStats(true);
  • //设置帧率
  • director->setAnimationInterval(1.0/60);
  • //设置文件的搜索路径
  • FileUtils::getInstance()->addSearchPath("res");
  • //调用场景
  • autoscene=HelloWorld::createScene();
  • //执行场景
  • director->runWithScene(scene);
  • returntrue;
  • //当别人打电话来的时候调用的函数,程序进入后台
  • voidAppDelegate::applicationDidEnterBackground()
  • //停止播放动画
  • Director::getInstance()->stopAnimation();
  • //如果程序中有背景音乐,停止播放背景音乐
  • //SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
  • //当通话结束后,程序进入前台
  • voidAppDelegate::applicationWillEnterForeground()
  • //播放动画
  • Director::getInstance()->startAnimation();
  • //当程序中有背景音乐的时候继续播放背景音乐
  • //SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
  • }
  • HelloWorldScene.h中的代码(本人已经注释)


    HelloWorldScene.cpp中的代码(本人已经注释)

    copy
    #include"HelloWorldScene.h"
  • #include"cocostudio/CocoStudio.h"
  • #include"ui/CocosGUI.h"
  • //使用动画需要引入的命名空间
  • usingnamespacecocostudio::timeline;
  • //场景创建函数
  • Scene*HelloWorld::createScene()
  • //创建场景
  • autoscene=Scene::create();
  • //创建层
  • autolayer=HelloWorld::create();
  • //将层添加到场景中
  • scene->addChild(layer);
  • //返回场景
  • returnscene;
  • //场景初始化函数
  • boolHelloWorld::init()
  • //初始化父类的层
  • if(!Layer::init())
  • {
  • false;
  • //加载Cocostudio的资费
  • autorootNode=CSLoader::createNode("MainScene.csb");
  • addChild(rootNode);
  • true;
  • }
  • 猜你在找的Cocos2d-x相关文章