#ifndef __GAMEMAIN_SCENE_H__
#define __GAMEMAIN_SCENE_H__ #include "cocos2d.h" #include "Box2D/Box2D.h" #include "SimpleAudioEngine.h" #include "CocoHead.h"
#include "GameScene.h" class CCLayer; class CGameMainScene : public CGameScene
{
public:
enum ResourceID
{
_ResourceId = ,
}; enum MainSceneId
{
_IDD_MainSceneDialog = , _IDC_MainSceneBg = ,
};
public:
CGameMainScene();
virtual ~CGameMainScene(); CREATE_SCENE(CGameMainScene); // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
virtual bool init();
virtual bool initRes(); // a selector callback
void menuCloseCallback(CCObject* pSender); void menuMsgCallback(CCObject* pSender); protected:
virtual void update(float dt); virtual void onEnter();
virtual void onExit(); private:
CCLayer* m_pLayerBg;
CCLayer* m_pLayerInfo; }; #endif // __HELLOWORLD_SCENE_H__
#include "GameMainScene.h"
#include "WidgetMgr.h"
#include "Config.h"
#include "GameLogic.h"
#include "AudioMgr.h"
#include "MenuDialog.h"
#include "AboutDialog.h"
#include "SectsInfomation.h" #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#include "GameCenter.h"
#endif // (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) CGameMainScene::CGameMainScene()
{
m_pLayerBg = NULL;
m_pLayerInfo = NULL;
} CGameMainScene::~CGameMainScene()
{ } // on "init" you need to initialize your instance
bool CGameMainScene::init()
{
bool bRet = false;
do
{
//////////////////////////////////////////////////////////////////////////
// super init first
////////////////////////////////////////////////////////////////////////// CC_BREAK_IF(! CCLayer::init()); //////////////////////////////////////////////////////////////////////////
// add your codes below...
////////////////////////////////////////////////////////////////////////// m_pLayerBg = CCLayer::create();
m_pLayerInfo = CCLayer::create(); this->addChild(m_pLayerBg, );
this->addChild(m_pLayerInfo, ); bRet = true;
} while (); return bRet;
} void CGameMainScene::update( float dt )
{ } void CGameMainScene::menuMsgCallback( CCObject* pSender )
{ } void CGameMainScene::onEnter()
{
CGameScene::onEnter(); this->initRes();
} bool CGameMainScene::initRes()
{
bool bRet = false; CCSprite* pBg = CCSprite::create(CConfig::getInstance()->getImageInfoById()->strFile.c_str());
pBg->setAnchorPoint(ccp(, ));
m_pLayerBg->addChild(pBg, , ); CREATE_DIALOG(CMenuDialog, m_pLayerInfo, );
CREATE_DIALOG(CAboutDialog, m_pLayerInfo, );
//CREATE_DIALOG(CSectsInfomation, m_pLayerInfo, 0); #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
GameCenter::getInstance()->authenticateLocalUser();
#endif //#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) CGameLogic::getInstance()->readConfiguration(); if (CGameLogic::getInstance()->getConfiguration()->bBackgroundMusic)
{
CAudioMgr::getInstance()->player("backgroundmusic_01", true);
} CGameLogic::getInstance()->setLevel(_Level_xmb); bRet = true;
return bRet;
} void CGameMainScene::onExit()
{
CGameScene::onExit(); this->removeFromParentAndCleanup(true);
CWidgetMgr::getInstance()->clearAllWnd(); //CWidgetMgr::destroy();
}

CGameMainScene类的更多相关文章

  1. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  2. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  5. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  6. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  7. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  8. PHP-解析验证码类--学习笔记

    1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1  定义变量 //随机因子 private $char ...

  9. C# 多种方式发送邮件(附帮助类)

    因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...

随机推荐

  1. android基础学习-Fragment和eclipse快捷键

    使用Fragment的原因 1. Activity间的切换不流畅 2. 模块化Activity,方便做局部动画(有时为了到达这一点要把多个布局放到一个activity里面,现在可以用多Fragment ...

  2. 配置Android-Annotation (github20大开源:http://www.eoeandroid.com/thread-278980-1-1.html)

    1. 把androidannotations-X.X.X-api.jar 放在libs文件夹 2. 把androidannotations-X.X.X.jar 放在文件夹compile-libs,1与 ...

  3. 解决 PHP Fatal error: Call-time pass-by-reference has been removed

    PHP在升级到5.4版本的php可能会出现这种错误: 如果这样使用函数(或者类)的话,会产生一个 PHP Fatal error:foo(&$var);实际上,这样用法在php5.3中就会有提 ...

  4. 如何把rc.local里执行的shell脚本的日志内容放到其他位置

    rc.local的日志内容默认是/var/log/boot.log /etc/rc.d/rc.local文件的文件头是#!/bin/sh ,我们把这修改成#!/bin/sh -x,这样系统启动后就会把 ...

  5. SpEL笔记

    SpEL使用示例 <bean id="chineseA" class="com.xxx.bean.Chinese" scope="prototy ...

  6. Fragment 生命周期 事务 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. MyEclipse中Ctrl+Shift+F快捷键格式化代码时不换行

    摘自: http://iteye.blog.163.com/blog/static/18630809620121166622410/ MyEclipse中Ctrl+Shift+F快捷键格式化代码时不换 ...

  8. Cognos TM1_10.1.1服务端配置

    场景:本文继Cognos TM1_10.1.1服务端安装 之后,简单的说一下本人对简单配置的拙见,确保服务端在安装过程一切正常,成功安装. 1:进入TM的Cognos Configuration 2: ...

  9. [AngularJS] AngularJS 1.3 $scope.$watchGroup

    $watchGroup can monitor an array or expression. We watch both email and password by using the same c ...

  10. [AngularJS] $scope.$warchCollection

    For the $watch in last article, we watch 'user.password', actually it is a string. If you watch 'use ...