cocos2d-X 节点(CCMenu.h)API

来源:互联网 发布:防火墙会拦截网络打印 编辑:程序博客网 时间:2024/05/01 03:18

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

cocos2d-X 节点(CCMenu.h)APICCMenu.h

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
创建菜单,添加 items、设置 items 的对其方式
//cocos2d-x-3.0alpha0/cocos2dx/menu_nodes
#ifndef __CCMENU_H_#define __CCMENU_H_#include "CCMenuItem.h"#include "layers_scenes_transitions_nodes/CCLayer.h"#include "event_dispatcher/CCEventTouch.h"NS_CC_BEGIN/** * @addtogroup GUI * @{ * @addtogroup menu * @{ */

简要

/** @brief A Menu* * 特点和限制:*  - 您可以在运行时使用addChild添加MenuItem对象:*  -但只接受MenuItem对象*/class CC_DLL Menu : public LayerRGBA{public:    enum class State    {        WAITING,        TRACKING_TOUCH,    };        /** 创建一个空的 Menu */    static Menu* create();    /** 使用一个 MenuItem 对象创建一个 Menu */    static Menu* create(MenuItem* item, ...) CC_REQUIRES_NULL_TERMINATION;    /** 使用一个 MenuItem 数组对象创建一个 Menu */    static Menu* createWithArray(Array* pArrayOfItems);    /** 创建一个菜单项目,然后使用addChild()添加      * 其他项目。在脚本中使用时,它不能使用未确定数量的变量初始化    */    static Menu* createWithItem(MenuItem* item);        /** 使用多个 MenuItem 创建一个 Menu */    static Menu* createWithItems(MenuItem *firstItem, va_list args);    /**     * @js ctor     */    Menu() : _selectedItem(NULL) {}    virtual ~Menu();    /** 初始化一个 Menu */    bool init();    /** 使用 MenuItem 组成的 NSArray 初始化一个 Menu */    bool initWithArray(Array* pArrayOfItems);    /** 垂直对齐项目 */    void alignItemsVertically();    /** 填充垂直对齐项目    @since v0.7.2    */    void alignItemsVerticallyWithPadding(float padding);    /** 水平对齐项目 */    void alignItemsHorizontally();    /** 填充水平对齐项目    @since v0.7.2    */    void alignItemsHorizontallyWithPadding(float padding);    /** 对齐行的列中的项目 */    void alignItemsInColumns(int columns, ...) CC_REQUIRES_NULL_TERMINATION;    void alignItemsInColumns(int columns, va_list args);    void alignItemsInColumnsWithArray(Array* rows);    /** 对齐列的行中的项目 */    void alignItemsInRows(int rows, ...) CC_REQUIRES_NULL_TERMINATION;    void alignItemsInRows(int rows, va_list args);    void alignItemsInRowsWithArray(Array* columns);    virtual bool isEnabled() const { return _enabled; }    virtual void setEnabled(bool value) { _enabled = value; };    // overrides    virtual void removeChild(Node* child, bool cleanup) override;        virtual void addChild(Node * child) override;    virtual void addChild(Node * child, int zOrder) override;    virtual void addChild(Node * child, int zOrder, int tag) override;        virtual bool onTouchBegan(Touch* touch, Event* event) override;    virtual void onTouchEnded(Touch* touch, Event* event) override;    virtual void onTouchCancelled(Touch* touch, Event* event) override;    virtual void onTouchMoved(Touch* touch, Event* event) override;        virtual void onEnter() override;    virtual void onExit() override;    virtual void setOpacityModifyRGB(bool bValue) override {CC_UNUSED_PARAM(bValue);}    virtual bool isOpacityModifyRGB(void) const override { return false;}protected:    /** 菜单是否会收到事件 */    bool _enabled;    MenuItem* itemForTouch(Touch * touch);    State _state;    MenuItem *_selectedItem;};// end of GUI group/// @}/// @}NS_CC_END#endif//__CCMENU_H_