zoukankan      html  css  js  c++  java
  • Cocos2dx 3.x创建Layer的步骤

    创建

    1、新建类文件。注意文件夹为Classes下。否则文件不能正常找到。

    2、改动预编译头。如用VS,默觉得#pragma once,为了兼容,改为#ifndef | #define | #endif

    3、加入cocos2d.h头文件

    4、继承cocos2d::Layer。默觉得private继承。通常须要改为public继承。

    5、加入init()和CREATE_FUNC()

    6、实现init()

    7、加入createScene(),可选

    最主要的代码:

    //GameLayer.h
    
    #ifndef _GAMELAYER_H
    #define _GAMELAYER_H
    
    #include "cocos2d.h"
    
    class GameLayer : public cocos2d::Layer
    {
    public:
    	GameLayer();
    	~GameLayer();
    public:
    	virtual bool init();
    	CREATE_FUNC(GameLayer);
    public: 
    	static cocos2d::Scene* createScene();
    };
    
    #endif // _GAMELAYER_H
    // GameLayer.cpp
    
    #include "GameLayer.h"
    
    USING_NS_CC;
    
    // 构造函数。如有对象成员,须要在此初始化
    GameLayer::GameLayer()
    {}
    // 析构
    GameLayer::~GameLayer()
    {}
    
    //虚函数,初始化,当运行本类的create()函数时会被自己主动调用
    bool GameLayer::init()
    {
    	bool bl = Layer::init();
    	// 增加内容
    	return bl;
    }
    
    // Scene的入口,通过该函数进入Layer
    Scene* GameLayer::createScene()
    {
    	auto scene = Scene::create();
    	auto layer = GameLayer::create();
    	scene->addChild(layer);
    	return scene;
    }
    
    进入
    // 直接进入
    
    auto layer = GameLayer::createScene();
    Director::getInstance()->replaceScene(layer);

    // 特效进入
    
    auto layer = GameLayer::createScene();
    auto slidein = TransitionSlideInL::create(1.0f, layer);
    Director::getInstance()->replaceScene(slidein);

    // 进入特效完之后才发生
    
    //声明虚函数
    virtual void onEnterTransitionDidFinish();
    
    
    加入定时器
    // GameLayer.h
    
    private:
    	// 声明
    	void gameStep(float dt);
    
    // GamaLayer.cpp
    
    // 实现
    void GameLayer::gameStep(float dt)
    {
    	//bg->move();
    }
    void GameLayer::startGame()
    {
    	// 调用
    	this->schedule(SEL_SCHEDULE(&GameLayer::gameStep), 0.02f);
    }
    
    
    
    

  • 相关阅读:
    C# Nugut CsvHelper 使用
    C# 读写txt
    Js打开QQ聊天对话窗口
    Js 读写Cookies
    js 计算时间差
    C# 读取CSV文件
    使用 SqlBulkCopy 批量插入数据
    sql 添加列并设置默认值
    C# 获取Enum 描述和值集合
    SQL连接其它服务器操作
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5095973.html
Copyright © 2011-2022 走看看