cocos2d-x安装和使用基础

下载

官网下载cocos:

Cocos引擎_游戏开发引擎

写这篇文章时cocos的版本是v3.10,更新时间是2016年01月18日。

安装

本文使用的是windows系统,v3.10版本直接安装就可以了,不需要额外的操作。

使用

打开Cocos:

Cocos的基础界面如下:

点击新建项目:

这里使用C++语言,其它不变。

点击完成后,会直接打开Cocos Studio:

不过目前先不需要使用这个,关闭即可。然后回到Cocos的主界面,使用VS打开项目:

打开后的VS的资源界面如下:

直接编译项目:

并执行得到结果:

Cocos基本流程

1. cocos执行的起始是main.cpp(见上面的VS资源图):

int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR    lpCmdLine,
                       int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

    // create the application instance
    AppDelegate app;
    return Application::getInstance()->run();
}

注意上面代码中的最后一句,它算是cocos程序的真正入口。

2. Application的实现位于AppDelegate中:

class  AppDelegate : private cocos2d::Application
{
public:
    AppDelegate();
    virtual ~AppDelegate();
    //后面省略

从这里可以看到AppDelegate就是Application的一个子类,而main中获取到的就是它的一个实例,并执行。

3. 在Application中的主要作用的cocos程序的基本初始化,最主要的是一个叫Director的单例的初始化。这里先不介绍了。

4. 在Application还会创建一个Scene实例,它是屏幕显示的基础,当Scene开始运行时,程序也就算正式展现给用户了。

bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLViewImpl::createWithRect("MyFirstCocosProject", Rect(0, 0, 960, 640));
        director->setOpenGLView(glview);
    }

    director->getOpenGLView()->setDesignResolutionSize(960, 640, ResolutionPolicy::SHOW_ALL);

    // turn on display FPS
    director->setDisplayStats(true);

    // set FPS. the default value is 1.0/60 if you don't call this
    director->setAnimationInterval(1.0 / 60);

    FileUtils::getInstance()->addSearchPath("res");

    // create a scene. it's an autorelease object
    auto scene = HelloWorld::createScene();

    // run
    director->runWithScene(scene);

    return true;
}

5. 实际上Scene本身并不会显示内容,要显示内容还要借助于加载在其上的Layer等组件,这里通过HelloWorldScene.cpp实现。(虽然名字中有个Scene,但要注意它其实是一个Layer子类)

6. HelloWorldScene.cpp代码说明:

Scene* HelloWorld::createScene()
{
    // 'scene' is an autorelease object
    auto scene = Scene::create();
    
    // 'layer' is an autorelease object
    auto layer = HelloWorld::create();

    // add layer as a child to scene
    scene->addChild(layer);

    // return the scene
    return scene;
}

上面代码好像也没有什么好说的......

bool HelloWorld::init()
{
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    auto rootNode = CSLoader::createNode("MainScene.csb");

    addChild(rootNode);

    return true;
}

这里需要说明的是MainScene.csb,它是通过Cocos Studio创建的,默认就是一幅图,即前面cocos运行的结果。

通过Cocos Studio可以创建各种组件和动画,然后通过CSLoader就可以在代码中调用这些组件和动画,来完成我们的游戏。

不过其实Cocos Studio并不是必须的。也可以直接写代码来得到组件和动画等等。

PS:在Mac上的操作基本一样,只是编辑代码的工具从VS变成了Xcode。

2016/6/27更新

Cocos 2d-x更新v3.11.1版本。

这个版本创建工程略有不同。

首先是图形化工具统一成了Cocos Creator,界面如下:

根据说明一步步操作就可以。(不过这个貌似不能生成Xcode工程,不确定它是给编程用的还是设计用的,可能只是给设计用的,不包含编程的部分)

如果下载的是源代码,则进入cocos2d-x-3.11.1/tools/cocos2d-console/bin目录:

创建工程的命令如下:

./cocos new TestDemo -p com.jw -l cpp -d ~/Documents/CocosProjects/

几个参数说明:

  • -p:指定包名,没有特别要求,随便写;
  • -d:指定项目的目录;
  • -l:指定开发语言,有c++,javascript和lua;

之后在对应的目录下找到Xcode的项目就可以编辑开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值