cocos2d-x开发日志02 ——新建场景

本文详细介绍了使用C++进行游戏开发时如何新建场景,并通过继承Cocos2d库中的Layer类来创建自定义场景。具体步骤包括新建C++项目文件、在GameScene类中引用cocos2d库、声明场景类及其成员方法createScene()和init(),最后修改入口文件以运行场景。

3.新建场景

3.1新建C++项目文件
    右击classes,添加项目
    命名为GameScene即可得到GameScene.h和GameScene.cpp两个文件

3.2创建新场景

    3.2.1在GameScene.h中引用cocos2d库,申明命名空间:            
#include "cocos2d.h"
            USING_NS_CC;
    3.2.2在GameScene.h声明新的场景类:
class GameScene:public Layer{   //继承Layer,Layer是cocos中的图层类
                public:
                    static Scene * createScene(); //创建新场景的静态函数,外部不需要实例化可直接调用,后面会马上用到
                    CREATE_FUNC(GameScene_2);   //底层创建宏,不太明白不敢乱说,但是一定要声明。
                bool init();                //被create创建函数调用的初始化方法,大多数任务在这里面定义,非常重要,后面会说到
            };
        这三行方法声明是必须写在类里的,格式固定,不要自行改变。

    3.2.3在GameScene.cpp中实现声明的成员方法

        3.2.3.1实现成员方法createScene()
Scene * GameScene::createScene(){//该方法用于将GameScene这个图层包装在一个场景中,注意GameScene是一个图层,而场景是图层的一个容器,所以我们需要一个场景来放置图层
                    auto scene = Scene::create();//新建一个名为scene的场景
                    auto layer = GameScene::create();//新建一个名为layer的GameScene图层
                    cene->addChild(layer);//将layer添加到scene中
                    return scene;//返回这个scene场景
                  }
        3.2.3.2实现成员方法init()
bool GameScene::init(){
                        if(!Layer::init()) //判断父类有没有初始化成功,没有则返回false
                            return false;

                        //…//          //这里可以自行发挥,其他都是固定部分,尽量不要改变。

                    return true;
                }
3.3运行场景

    3.3.1修改入口文件
        将AppDelegate.cpp中的#include “helloWorld.h”替换成# include "GameScene.h”
            并找到这两句代码auto scene = helloWorld::createScene();
                    director->runWithScene(scene);
        将其中的helloWorld改成GameScene

    3.3.2运行
        单机左上角的运行按钮,等待编译并运行
        由于init中声明也没实现,所以应该是一个空场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值