cocos游戏的真正入口,用C++实现的demo版本

1.cocos游戏的出发点

在main函数中有一句:   return CCApplication::sharedApplication()->run();

2.经过层层深入发现,真正的入口:  bool AppDelegate::applicationDidFinishLaunching()

3.类继承关系图:

4.代码实现:

CCApplicationProtocol的头文件如下,.cpp文件为空

#pragma once
class CCApplicationProtocol
{
public:
    /*定义了一个虚接口,用于游戏的真正入口*/
    virtual bool applicationDidFinishLaunching() = 0;
};

CCApplication.h

#pragma once
#include "CCApplicationProtocol.h"

#include <iostream>
using namespace std;

class CCApplication :public CCApplicationProtocol
{
public:
    CCApplication();

    /*run方法*/
    virtual int run();
    /*返回静态指针*/
    static CCApplication* sharedApplication();

protected:
    /*静态指针,用于实现单例*/
    static CCApplication * sm_pSharedApplication;
};

CCApplication.cpp

#include "CCApplication.h"

/*cpp文件中初始化静态成员*/
CCApplication * CCApplication::sm_pSharedApplication = NULL;

CCApplication::CCApplication()
{
    /*将子类对象赋值给父类的静态指针*/
    sm_pSharedApplication = this;
}

CCApplication* CCApplication::sharedApplication()
{
    /*实现单例*/
    if (sm_pSharedApplication != NULL)
    return sm_pSharedApplication;
}

int CCApplication::run()
{
    /*调用父类的方法,实现游戏的启动*/
    applicationDidFinishLaunching();
    return 0;
}

AppDelegate.h

#pragma once
#include "CCApplication.h"
class AppDelegate :private CCApplication
{
public:
    /*实现了继承来的祖父类方法*/
    virtual bool applicationDidFinishLaunching();
};

AppDelegate.cpp

#include "AppDelegate.h"

/*实现了继承来的祖父类方法*/
bool AppDelegate::applicationDidFinishLaunching()
{
    /*do somethint to iniialize the game*/

    cout << "game start" << endl;
    return true;
}

测试代码:

#include "AppDelegate.h"

int main()
{
    AppDelegate app;
    CCApplication::sharedApplication()->run();

    system("pause");
    return 0;
}
时间: 2024-08-06 10:53:34

cocos游戏的真正入口,用C++实现的demo版本的相关文章

【Cocos游戏实战】功夫小子第八课之游戏打包和相关问题说明

至此,功夫小子系列的Cocos2d-x的实战文章就结束了. 再次贴个目录以便检索: 功夫小子专栏地址:http://blog.csdn.net/column/details/suoolcocoshit.html [Cocos游戏实战]功夫小子第一课需求分析和开发环境的基本配置 [Cocos游戏实战]功夫小子第二课之基础类分析和实现 [Cocos游戏实战]功夫小子第三课之过渡场景和开始菜单的实现 [Cocos游戏实战]功夫小子第四课之设置功能和图籍场景的实现 [Cocos游戏实战]功夫小子第五课之

Unity3D游戏开发从零单排(七) - NetworkView的Demo

提要 今天做了一个移动设备的网络通信demo,分两个部分,一个是网络连接,一个是数据通信. 需要两台Android设备A,B.A作客户端,B作服务端. 最终的效果是玩家控制设备A中的方块,B中的方块也一起动,同时在A的加速度传感器的信息在B中也实时更新. 网络连接 首先两台设备要联网,且IP在同一个网段,比如连接在同一个路由上,或者通过笔记本发出wifi信号,然后把设备连在上面. 在Unity3d中创建一个新工程,在场景中创建两个空物体,一个Client,一个Server. 在client创建一

Android游戏开发:物理游戏之重力系统开发--圆形自由落体Demo

本节为大家提供有关物理游戏的知识,讲解了一个简单的圆形自由落体Demo的编写.. Java代码 package com.himi; import java.util.Random; import java.util.Vector; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import a

cocos游戏的例子(摘抄记录,非原创)

3.1 搭建Cocos2d-JS v3.x 开发环境 下载所需的软件包 下载 Cocos Code IDE.目前 Cocos Code IDE 最新发布版本是 1.0.0-RC2.我们为什么 Cocos Code IDE 呢?因为它是 进行Cocos2d-x Lua 和Javascript游戏开发.调试.发布的完整工具组件.它支持Cocos2d-x v3.x, Cocos2d-JS v3.x及以上版本.Cocos Code IDE 提供了很多特性,例如Javascript代码的语法实现.调试.语

【Cocos游戏实战】功夫小子第五课之帮助场景和选关功能的实现

功夫小子之帮助场景和选关功能的实现 转载请注明出处:http://blog.csdn.net/suool/article/details/46661231 本节课的视频教程地址是: 第五课在此 如果本教程有帮助到您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,即日起至7月1日,极客学院的 VIP 课程 30 天免费体验,想学编程的小伙伴速来,只针对新用户:http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVkxblJUZ

【Cocos游戏实战】功夫小子第三课之过渡场景和開始菜单的实现

本节课的视频教程地址是:第三课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也能够领取五天的会员时间哦(即使是购买年会员眼下也不过年费260),成为极客学院学习会员能够无限制的下载和观看全部的学院站点的视频,谢谢您的支持! 经过前面两节课的学习.我们已经知道我们要做的是一个什么样的游戏项目.而且对游戏的基本特点和当中的重难点有了一个主要的认识,而且完毕了项目环境的基本搭建.以及项目基础类等工作. 从这节

cocos游戏框架--1

Cocos2d-x3.2教程——[我所认识的Cocos2d-x] 三.Cocos2d-x项目的游戏框架搭建 游戏与应用项目其实差别不是很大,甚至有许多地方都是一样的,无非侧重点不同,手机游戏更侧重于用户的体验,更加的娱乐化.情感化.让玩家感觉“爽”.而手机应用更侧重于简单.明了,优先完成业务为重.    在以Cocos2d-x引擎为基础上,其实我们要做的准备工作还是很多的:    一.分析项目    首先,我们要知道,我们这个游戏是什么样类型的游戏,游戏机制是什么,按照目前市场上来说可以分成如下

【Cocos游戏实战】功夫小子第三课之过渡场景和开始菜单的实现

本节课的视频教程地址是:第三课在此 如果本教程有帮助到您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,手机端首次也可以领取五天的会员时间哦(即使是购买年会员目前也仅仅是年费260),成为极客学院学习会员可以无限制的下载和观看所有的学院网站的视频,谢谢您的支持! 经过前面两节课的学习,我们已经知道我们要做的是一个什么样的游戏项目,并且对游戏的基本特点和其中的重难点有了一个基本的认识,并且完成了项目环境的基本搭建,以及项目基础类等工作. 从这

【Cocos游戏实战】功夫小子第二课之基础类分析和实现

本节课的视频教程地址是:第二课在此 如果本教程有帮助带您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,会员可以无限制的下载和观看所有的视频,谢谢您的支持! 在开始第二节课之前,这里需要声明的是, 首先:本系列课程是为了结合Cocos2d-x 3.x 的基本组件和核心模块的学习而制作的,开发所使用的版本是3.0,但是代码稍加修改就可以运用在3.X的其他版本上. 其次:本游戏项目是一个非商业化项目,游戏资源和代码都会在后续的课程中释放出来,供