cococococococos 2 d-xノード(CCParalaxNode.h)API


本論文はhttp://blog.csdn.net/runaying ,引用は出典を明記しなければならない!
cococococococos 2 d-xノード(CCParalaxNode.h)API
みなさんがよりよく勉強できるように、私のブログを見ることを強くおすすめします。 Cocos 2 d-X権威ガイドノート
Paralax(視差)はスクロールバーのようです。
//cocos2d-x-3.0alpha0/cocos2dx/tilemap_parallax_nodes/
//Parallax(  )      

#ifndef __CCPARALLAX_NODE_H__
#define __CCPARALLAX_NODE_H__

#include "base_nodes/CCNode.h"
/*#include "support/data_support/ccArray.h"*/

NS_CC_BEGIN

struct _ccArray;

/**
 * @addtogroup tilemap_parallax_nodes
 * @{
 */

/** @brief ParallaxNode: A node that simulates a parallax scroller      //         

 children     faster / slower     parent       

*/
class CC_DLL ParallaxNode : public Node 
{
public:
    // Create a Parallax(  ) node
    static ParallaxNode * create();
    
    /**    z-  ,                   child 
    It returns self,         addChilds.
    @since v0.8
    * @js ctor
    */
    ParallaxNode();
    /**
     * @js NA
     * @lua NA
     */
    virtual ~ParallaxNode();

    //        :“           ”
    using Node::addChild;

    void addChild(Node * child, int z, const Point& parallaxRatio, const Point& positionOffset);

    /**   Parallax(  )        layer    */
    void setParallaxArray( struct _ccArray *parallaxArray) { _parallaxArray = parallaxArray; }
    /** Returns Parallax(  )     layer    */
    struct _ccArray* getParallaxArray() { return _parallaxArray; }
    const struct _ccArray* getParallaxArray() const { return _parallaxArray; }

    //
    // Overrides
    //
    virtual void addChild(Node * child, int zOrder, int tag) override;
    virtual void removeChild(Node* child, bool cleanup) override;
    virtual void removeAllChildrenWithCleanup(bool cleanup) override;
    virtual void visit(void) override;

protected:
    Point absolutePosition();

    Point    _lastPosition;
    struct _ccArray* _parallaxArray;
};

// end of tilemap_parallax_nodes group
/// @}

NS_CC_END

#endif //__CCPARALLAX_NODE_H__