[Cocos2d-x for WP8学习笔记] HelloWorld结构分析
2013-08-23 21:17
615 查看
先来看一下目录结构:
![](http://images.cnitblog.com/blog/356157/201308/23211113-7f7ac781c8e548c682458dafcb4f6e51.jpg)
Assets:游戏资源文件,图片音频等,Resource文件夹也有类似功能
include:用于放置游戏头文件
Shaders:渲染器着色器文件(大雾)
cocos2dorig.cpp/.h:Direct3D游戏默认入口,默认文件名和项目名相同,在Cocos2dx中,经由这里转而启动AppDelegate
AppDelegate.cpp/.h:
游戏通用入口文件,控制着游戏的生命周期
bool AppDelegate::applicationDidFinishLaunching()
游戏启动后调用这个方法
void AppDelegate::applicationDidEnterBackground()
游戏转入后台时进行的操作,一般来说,要将游戏暂停
void AppDelegate::applicationWillEnterForeground()
游戏回到前台时对应的操作
CCScene* HelloWorld::scene()
场景创建
bool HelloWorld::init()
初始化HelloWorld类
本文固定链接:[Cocos2d-x for WP8学习笔记] HelloWorld结构分析
![](http://images.cnitblog.com/blog/356157/201308/23211113-7f7ac781c8e548c682458dafcb4f6e51.jpg)
Assets:游戏资源文件,图片音频等,Resource文件夹也有类似功能
include:用于放置游戏头文件
Shaders:渲染器着色器文件(大雾)
cocos2dorig.cpp/.h:Direct3D游戏默认入口,默认文件名和项目名相同,在Cocos2dx中,经由这里转而启动AppDelegate
//WP8Direct3D游戏默认启动入口 IFrameworkView^ Direct3DApplicationSource::CreateView() { return ref new PhoneDirect3DAppDemo(); } [Platform::MTAThread] int main(Platform::Array<Platform::String^>^) { auto direct3DApplicationSource = ref new Direct3DApplicationSource(); CoreApplication::Run(direct3DApplicationSource); return 0; } //Cocos2dx启动入口 IFrameworkView^ Direct3DApplicationSource::CreateView() { return ref new cocos2dorig(); } ref class CCApplicationFrameworkViewSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource { public: virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView() { return cocos2d::getSharedCCApplicationFrameworkView(); } }; [Platform::MTAThread] int main(Platform::Array<Platform::String^>^) { //auto direct3DApplicationSource = ref new Direct3DApplicationSource(); //CoreApplication::Run(direct3DApplicationSource); AppDelegate App; auto frameworkViewSource = ref new CCApplicationFrameworkViewSource(); Windows::ApplicationModel::Core::CoreApplication::Run(frameworkViewSource); return 0; }
AppDelegate.cpp/.h:
游戏通用入口文件,控制着游戏的生命周期
bool AppDelegate::applicationDidFinishLaunching()
游戏启动后调用这个方法
bool AppDelegate::applicationDidFinishLaunching() { // 初始化游戏引擎控制器 CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(CCEGLView::sharedOpenGLView()); // 开发阶段可以打开FPS显示以观察流畅度 //pDirector->setDisplayFPS(false); // 设置横竖屏显示 pDirector->setDeviceOrientation(CCDeviceOrientationPortrait); // 设置每秒刷新率即FPS,默认每秒60次 //pDirector->setAnimationInterval(1.0 / 60); // 创建场景 CCScene *pScene = HelloWorld::scene(); // 运行场景 pDirector->runWithScene(pScene); return true; }
void AppDelegate::applicationDidEnterBackground()
游戏转入后台时进行的操作,一般来说,要将游戏暂停
void AppDelegate::applicationWillEnterForeground()
游戏回到前台时对应的操作
HelloWorldScene.cpp/.h
HelloWorld游戏的场景,在AppDelegate::applicationDidFinishLaunching()中创建并运行。CCScene* HelloWorld::scene()
场景创建
CCScene* HelloWorld::scene() { CCScene * scene = NULL; do { // 创建一个空场景 scene = CCScene::create(); CC_BREAK_IF(! scene); // 创建一个HelloWorld层 HelloWorld *layer = HelloWorld::create(); CC_BREAK_IF(! layer); // 将HelloWorld层添加到场景中 scene->addChild(layer); } while (0); return scene; }
bool HelloWorld::init()
初始化HelloWorld类
bool HelloWorld::init() { bool bRet = false; do { //调用父类方法进行初始化 if ( !CCLayer::init() ) { break; } //创建文字标签添加到层中 CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Times New Roman", 24); pLabel->setPosition( ccp(size.width * 0.5, size.height * 0.5) ); pLabel->setColor(ccc3(160, 80, 5)); this->addChild(pLabel, 1); //创建显示HelloWorld的精灵并添加到层中 CCSprite *b = CCSprite::create("HelloWorld.png"); b->setPosition(ccp(0, 0)); b->setPosition(ccp(size.width * 0.5, size.height * 0.5)); this->addChild(b); //设置程序可以响应触摸 setTouchEnabled(true); bRet = true; } while (0); return bRet; }
本文固定链接:[Cocos2d-x for WP8学习笔记] HelloWorld结构分析
相关文章推荐
- [Cocos2d-x for WP8学习笔记] HelloWorld
- [Cocos2d-x for WP8学习笔记] 一些基本概念,建立自己的启动界面
- 我的Cocos2d-x学习笔记(三)游戏逻辑架构与HelloWorld分析
- cocos2d-x 2.1.4学习笔记之HelloWorld分析
- 我的Cocos2d-x学习笔记(三)游戏逻辑架构与HelloWorld分析
- cocos2d-x 3.x游戏开发学习笔记(2)--cocos2d-x 3.x文件目录结构分析
- cocos-lua学习笔记(四)HelloWorld结构分析
- [Cocos2d-x for WP8学习笔记] 获取系统字体
- 【数据结构与算法学习笔记】PART1:算法分析(计算,计算模型,大O记号,算法分析,迭代与递归,动态控制)
- DirectX学习笔记:关于DX Component结构分析
- Cocos2d-x学习笔记(二) 永远的HelloWorld
- Cocos2d-x学习笔记(20)(TestCpp源代码分析-4)
- 黑马程序员--Java基础学习笔记之抽象类和接口、内存结构分析、Java APIs
- 【Cocos2d-x for WP8 学习整理】(2)Cocos2d-Html5 游戏 《Fruit Attack》 WP8移植版 开源
- Cocos2d-x学习笔记(四)CCScene分析
- 【Cocos2d-x for WP8 学习整理】(3)CCScrollView 实现捕鱼达人一样的场景选择界面
- Cocos2d-x学习笔记(三)CCNode分析
- 【Cocos2d-x for WP8 学习整理】(3)CCScrollView 实现捕鱼达人一样的场景选择界面
- Cocos2d-x学习笔记(五)CCLayer分析及输入事件处理(触摸、重力传感器、按键)
- 【Cocos2d-x for WP8 学习整理】(2)Cocos2d-Html5 游戏 《Fruit Attack》 WP8移植版 开源