本文来自http://blog.csdn.net/runaying ,引用必须注明出处!

cocos2d-x节点(CCScene)API

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记

Scene 作为所有 node parent 是一个很好的做法,基本的 Scene 方法

///cocos2d-x-3.0alpha0/cocos2dx/layers_scenes_transitions_nodes
//把 Scene 作为所有 node 的parent 是一个很好的做法,基本的 Scene 方法

#ifndef __CCSCENE_H__
#define __CCSCENE_H__

#include "base_nodes/CCNode.h"
#include "physics/CCPhysicsWorld.h"

NS_CC_BEGIN

/**
 * @addtogroup scene
 * @{
 */

/** @brief Scene 是一个抽象的概念,仅被用作节点的一个子类.

不同的 Scene 它们的锚点几乎相同,(默认)锚点在屏幕的中心


 现在 scene 没有其它的逻辑,但在未来的版本中它可能有
 额外的逻辑.

把 Scene 作为所有 node 的parent 是一个很好的做法
*/
class CC_DLL Scene : public Node
{
public:
    /** 创建一个 Scene 对象 */
    static Scene *create();
#ifdef CC_USE_PHYSICS
    static Scene *createWithPhysics();
#endif

    Scene();
    /**
     * @js NA
     * @lua NA
     */
    virtual ~Scene();
    
    bool init();
    
#ifdef CC_USE_PHYSICS
public:
    bool initWithPhysics();
    
    virtual void addChild(Node* child) override;
    virtual void addChild(Node* child, int zOrder) override;
    virtual void addChild(Node* child, int zOrder, int tag) override;
    
    /*
     * Update 方法每一帧都会被调用,如果调用了 "scheduleUpdate", 节点就是 "live"
     */
    virtual void update(float delta) override;
    
    inline PhysicsWorld* getPhysicsWorld() { return _physicsWorld; }
    
protected:
    virtual void addChildToPhysicsWorld(Node* child);
    
protected:
    PhysicsWorld* _physicsWorld;
#endif // CC_USE_PHYSICS
    
    friend class Layer;
};

// end of scene group
/// @}

NS_CC_END

#endif // __CCSCENE_H__


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐