cocos2dx进阶学习之场景切换】的更多相关文章

背景 在学习马里奥时,我们学习到从菜单场景到游戏场景的切换,代码如下 void CMMenuScene::OnStartCallBack( CCObject *pSender ) { CCDirector* pDirector = CCDirector::sharedDirector(); CCScene *pScene = CMGameScene::CreateGameScene(); pDirector->replaceScene(pScene); } 上面的代码调用了CCDirector:…
在游戏中通常会打完了一关之后就会从当前的场景转换到另外一关的场景了,在Cocos2d-x中是由CCScene类表示一个场景.那么场景(CCScene)是为游戏中的精灵(CCSprite)提供了舞台,场景由导演(CCDirector)控制,游戏中的所有场景存放在一个栈中,有且只有一个场景可以处于激活状态.直接replaceScene(即不适用动画效果)可以轻松的完成场景的切换,释放掉就场景,加载新场景,几乎不需要时间的过渡,瞬间完成.那么如果我们要在场景转换的过程中用一点动画的效果,就需要用到CC…
继承关系 CCNode  -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 CCNode提供包容关系管理 成员函数 virtual bool init(); static CCNode * create(void); 创建和初始化接口,create函数会自动调用autorelease virtual void setZOrder(int zOrder); virtual void…
继承关系 CCDirecotor -> CCObject, TypeInfo 处理主窗口消息,管理何时.何种方式执行场景. 经常被翻译成导演,负责管理整个游戏的进程推动和周边支持. 成员 inline CCScene* getRunningScene(void) { return m_pRunningScene; } 获取当前运行的场景,一个时刻只有一个场景在运行 inline double getAnimationInterval(void) { return m_dAnimationInte…
在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期.多个场景切换时候分为几种情况:情况1,使用pushScene函数从实现GameScene场景进入SettingScene场景.情况2,使用replaceScene函数实现从GameScene场景进入SettingScene场景.情况3,使用popScene函数从实现SettingScene场景回到GameScene场景.我们参考GameScene重写SettingScene的中几个生命周期函数,代码如下: func…
大部分游戏里有很多个场景,场景之间需要切换,有时候切换的时候会进行背景音乐的播放和停止,因此对这块内容进行了总结. 场景切换生命周期 场景切换用到的函数: bool Setting::init() { if( !Layer::init() ) { returnfalse; } log("Settinginit"); ...... returntrue; } void Setting::onEnter() { Layer::onEnter(); log("SettingonEn…
[3.x]     (1)去掉 "CC"     (2)卡牌翻转 TransitionFlip 中的样式 tOrientation // //1: kCCTransitionOrientationLeftOver (左向右翻转) //2: kCCTransitionOrientationRightOver (右向左翻转) //3: kCCTransitionOrientationUpOver (下向上翻转) //4: kCCTransitionOrientationDownOver (…
手机游戏开发最近很火爆,鉴于一直在学习c++,看起来上手就比较快了.这篇文章来自皂荚花 cocos2d-x技术,我把我的想法分享给大家. 首先来看一段代码: CCScene* HelloWorld::scene() { CCScene * scene = NULL; do { // 'scene' is an autorelease object scene = CCScene::create(); CC_BREAK_IF(! scene); // 'layer' is an autorelea…
继承关系 CCScene -> CCNode -> CCObject CCScene抽象了一个场景的概念,类似舞台的一幕 函数 static CCScene *create(void); 静态创建函数,创建一个CCScene对象,并初始化以及调用autorelease函数让cocos2dx管理该对象生命周期 bool init(); 初始化函数,对该对象进行初始化 说明 CCScene从CCNode继承,因此更多的接口需要在CCNode里学习,CCNode是从编程角度的一个抽象,在CCNode…
本文转载自:http://www.cnblogs.com/linux-ios/archive/2013/04/09/3010779.html bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize size = CCDirector::sharedDirector()->getWinSize();…