cocos-js Http方式网络请求
JavaScript秘密花园
廖雪峰的官方网站
文档参考
动作列表
Node.js
node.js怎么判断当前是mac系统还是windows系统
/**
* 文本水平对齐方式
*/
cc.TEXT_ALIGNMENT_CENTER = 1;
cc.TEXT_ALIGNMENT_RIGHT = 2;
cc.TEXT_ALIGNMENT_LEFT = 0;
/**
* 文本垂直对齐方式
*/
cc.VERTICAL_TEXT_ALIGNMENT_TOP = 0;
cc.VERTICAL_TEXT_ALIGNMENT_CENTER = 1;
cc.VERTICAL_TEXT_ALIGNMENT_BOTTOM = 2;
/*
* UILayout.h -> "enum class BackGroundColorType"
* UILayout的背景颜色类型,默认为NONE。
*/
ccui.Layout.BG_COLOR_NONE = 0; 无色
ccui.Layout.BG_COLOR_SOLID = 1; 纯色
ccui.Layout.BG_COLOR_GRADIENT = 2; 渐变色
/**
* UILayout.h -> "enum class Type"
* UILayout布局类型,默认为ABSOLUTE。
*/
ccui.Layout.ABSOLUTE = 0; 绝对布局
ccui.Layout.LINEAR_VERTICAL = 1; 垂直布局
ccui.Layout.LINEAR_HORIZONTAL = 2; 水平布局
ccui.Layout.RELATIVE = 3; 相对布局
/**
* UILayout.h -> "enum class ClippingType"
* 裁剪模式
*/
ccui.Layout.CLIPPING_STENCIL = 0; 模板裁剪 类似于UILayout的裁剪模式(使用的模板缓冲,所以无论控件的矩阵怎么样变换,都可以完美的进行裁切)
ccui.Layout.CLIPPING_SCISSOR = 1; 剪刀裁剪 类似于ScrollView、ListView的裁剪模式(直接使用矩阵进行计算,效率比较高,但是目前还不能很好的支持旋转和缩放)
ccui.Layout.BACKGROUND_IMAGE_ZORDER = -1; 背景图片渲染
ccui.Layout.BACKGROUND_RENDERER_ZORDER = -2; 背景渲染器渲染
/*
* UILayoutParameter.h -> "enum class LinearGravity"
* 线性布局枚举
*/
// 旧
ccui.LINEAR_GRAVITY_NONE = 0;
ccui.LINEAR_GRAVITY_LEFT = 1;
ccui.LINEAR_GRAVITY_TOP = 2;
ccui.LINEAR_GRAVITY_RIGHT = 3;
ccui.LINEAR_GRAVITY_BOTTOM = 4;
ccui.LINEAR_GRAVITY_CENTER_VERTICAL = 5;
ccui.LINEAR_GRAVITY_CENTER_HORIZONTAL = 6;
// 新
ccui.LinearLayoutParameter.NONE = 0;
ccui.LinearLayoutParameter.LEFT = 1;
ccui.LinearLayoutParameter.TOP = 2;
ccui.LinearLayoutParameter.RIGHT = 3;
ccui.LinearLayoutParameter.BOTTOM = 4;
ccui.LinearLayoutParameter.CENTER_VERTICAL = 5;
ccui.LinearLayoutParameter.CENTER_HORIZONTAL = 6;
/**
* UILayoutParameter.h -> "enum class RelativeAlign"
* 相对对齐类型
*/
// 旧
ccui.RELATIVE_ALIGN_NONE = 0;
ccui.RELATIVE_ALIGN_PARENT_TOP_LEFT = 1;
ccui.RELATIVE_ALIGN_PARENT_TOP_CENTER_HORIZONTAL = 2;
ccui.RELATIVE_ALIGN_PARENT_TOP_RIGHT = 3;
ccui.RELATIVE_ALIGN_PARENT_LEFT_CENTER_VERTICAL = 4;
ccui.RELATIVE_ALIGN_PARENT_CENTER = 5;
ccui.RELATIVE_ALIGN_PARENT_RIGHT_CENTER_VERTICAL = 6;
ccui.RELATIVE_ALIGN_PARENT_LEFT_BOTTOM = 7;
ccui.RELATIVE_ALIGN_PARENT_BOTTOM_CENTER_HORIZONTAL = 8;
ccui.RELATIVE_ALIGN_PARENT_RIGHT_BOTTOM = 9;
ccui.RELATIVE_ALIGN_LOCATION_ABOVE_LEFT = 10;
ccui.RELATIVE_ALIGN_LOCATION_ABOVE_CENTER = 11;
ccui.RELATIVE_ALIGN_LOCATION_ABOVE_RIGHT = 12;
ccui.RELATIVE_ALIGN_LOCATION_LEFT_TOP = 13;
ccui.RELATIVE_ALIGN_LOCATION_LEFT_CENTER = 14;
ccui.RELATIVE_ALIGN_LOCATION_LEFT_BOTTOM = 15;
ccui.RELATIVE_ALIGN_LOCATION_RIGHT_TOP = 16;
ccui.RELATIVE_ALIGN_LOCATION_RIGHT_CENTER = 17;
ccui.RELATIVE_ALIGN_LOCATION_RIGHT_BOTTOM = 18;
ccui.RELATIVE_ALIGN_LOCATION_BELOW_TOP = 19;
ccui.RELATIVE_ALIGN_LOCATION_BELOW_CENTER = 20;
ccui.RELATIVE_ALIGN_LOCATION_BELOW_BOTTOM = 21;
// 新
ccui.RelativeLayoutParameter.NONE = 0;
ccui.RelativeLayoutParameter.PARENT_TOP_LEFT = 1;
ccui.RelativeLayoutParameter.PARENT_TOP_CENTER_HORIZONTAL = 2;
ccui.RelativeLayoutParameter.PARENT_TOP_RIGHT = 3;
ccui.RelativeLayoutParameter.PARENT_LEFT_CENTER_VERTICAL = 4;
ccui.RelativeLayoutParameter.CENTER_IN_PARENT = 5;
ccui.RelativeLayoutParameter.PARENT_RIGHT_CENTER_VERTICAL = 6;
ccui.RelativeLayoutParameter.PARENT_LEFT_BOTTOM = 7;
ccui.RelativeLayoutParameter.PARENT_BOTTOM_CENTER_HORIZONTAL = 8;
ccui.RelativeLayoutParameter.PARENT_RIGHT_BOTTOM = 9;
ccui.RelativeLayoutParameter.LOCATION_ABOVE_LEFTALIGN = 10;
ccui.RelativeLayoutParameter.LOCATION_ABOVE_CENTER = 11;
ccui.RelativeLayoutParameter.LOCATION_ABOVE_RIGHTALIGN = 12;
ccui.RelativeLayoutParameter.LOCATION_LEFT_OF_TOPALIGN = 13;
ccui.RelativeLayoutParameter.LOCATION_LEFT_OF_CENTER = 14;
ccui.RelativeLayoutParameter.LOCATION_LEFT_OF_BOTTOMALIGN = 15;
ccui.RelativeLayoutParameter.LOCATION_RIGHT_OF_TOPALIGN = 16;
ccui.RelativeLayoutParameter.LOCATION_RIGHT_OF_CENTER = 17;
ccui.RelativeLayoutParameter.LOCATION_RIGHT_OF_BOTTOMALIGN = 18;
ccui.RelativeLayoutParameter.LOCATION_BELOW_LEFTALIGN = 19;
ccui.RelativeLayoutParameter.LOCATION_BELOW_CENTER = 20;
ccui.RelativeLayoutParameter.LOCATION_BELOW_RIGHTALIGN = 21;
/*
* UILayoutParameter.h -> "enum class Type"
* 布局参数类型
*/
ccui.LayoutParameter.NONE = 0; 无布局参数类型
ccui.LayoutParameter.LINEAR = 1; 元素将按边缘排列。
ccui.LayoutParameter.RELATIVE = 2; 元素将按边距和相关的部件名称进行排列。
/*
* UILayoutComponent.h -> "enum class HorizontalEdge"
* 部件水平和垂直方向的布局样式
*/
ccui.LayoutComponent.horizontalEdge = {};
ccui.LayoutComponent.horizontalEdge.NONE = 0;
ccui.LayoutComponent.horizontalEdge.LEFT = 1;
ccui.LayoutComponent.horizontalEdge.RIGHT = 2;
ccui.LayoutComponent.horizontalEdge.CENTER = 3;
ccui.LayoutComponent.verticalEdge = {};
ccui.LayoutComponent.verticalEdge.NONE = 0;
ccui.LayoutComponent.verticalEdge.BOTTOM = 1;
ccui.LayoutComponent.verticalEdge.TOP = 2;
ccui.LayoutComponent.verticalEdge.CENTER = 3;
/*
* UIWidget.h -> "enum class BrightStyle"
* 明亮风格
*/
ccui.Widget.BRIGHT_STYLE_NONE = -1; 无风格
ccui.Widget.BRIGHT_STYLE_NORMAL = 0; 默认
ccui.Widget.BRIGHT_STYLE_HIGH_LIGHT = 1; 高亮
/**
* 小部件类型
*/
ccui.Widget.TYPE_WIDGET = 0; 小部件类型
ccui.Widget.TYPE_CONTAINER = 1; 容器类型
/**
* UIWidget.h -> "enum class TextureResType"
* 纹理资源类型
*/
ccui.Widget.LOCAL_TEXTURE = 0; 本地图片
ccui.Widget.PLIST_TEXTURE = 1; Plist文件中的图片
/**
* UIWidget.h -> "typedef enum TouchEventType"
* 触摸类型
*/
ccui.Widget.TOUCH_BEGAN = 0;
ccui.Widget.TOUCH_MOVED = 1;
ccui.Widget.TOUCH_ENDED = 2;
ccui.Widget.TOUCH_CANCELED = 3;
/**
* UIWidget.h -> "enum class SizeType"
* 尺寸类型
*/
ccui.Widget.SIZE_ABSOLUTE = 0; 绝对值
ccui.Widget.SIZE_PERCENT = 1; 百分值
//position type
/**
* UIWidget.h -> "enum class PositionType"
* 坐标类型
*/
ccui.Widget.POSITION_ABSOLUTE = 0; 绝对值
ccui.Widget.POSITION_PERCENT = 1; 百分值
/**
* UIWidget.h -> "enum class FocusDirection"
* 焦点位置
*/
ccui.Widget.LEFT = 0;
ccui.Widget.RIGHT = 1;
ccui.Widget.UP = 2;
ccui.Widget.DOWN = 3;
/*
* UIListView.h -> "enum class EventType"
* ListView元素项单击事件。
*/
ccui.ListView.EVENT_SELECTED_ITEM = 0; 默认
ccui.ListView.ON_SELECTED_ITEM_START = 0; 开始点击
ccui.ListView.ON_SELECTED_ITEM_END = 1; 结束点击
/**
* UIListView.h -> "enum class Gravity"
*/
ccui.ListView.GRAVITY_LEFT = 0;
ccui.ListView.GRAVITY_RIGHT = 1;
ccui.ListView.GRAVITY_CENTER_HORIZONTAL = 2;
ccui.ListView.GRAVITY_TOP = 3;
ccui.ListView.GRAVITY_BOTTOM = 4;
ccui.ListView.GRAVITY_CENTER_VERTICAL = 5;
/*
* UIScrollView.h -> "enum class Direction"
* ScrollView滚动方向
*/
ccui.ScrollView.DIR_NONE = 0; 不支持滚动
ccui.ScrollView.DIR_VERTICAL = 1; 垂直方向滚动
ccui.ScrollView.DIR_HORIZONTAL = 2; 水平方向滚动
ccui.ScrollView.DIR_BOTH = 3; 支持两个方向滚动
/*
* UIScrollView.h -> "typedef enum ScrollviewEventType"
* ScrollView滚动事件类型
* ccui.ScrollView.EVENT_BOUNCE_RIGHT
*/
ccui.ScrollView.EVENT_SCROLL_TO_TOP = 0; 往上滚动
ccui.ScrollView.EVENT_SCROLL_TO_BOTTOM = 1; 往下滚动
ccui.ScrollView.EVENT_SCROLL_TO_LEFT = 2; 往左滚动
ccui.ScrollView.EVENT_SCROLL_TO_RIGHT = 3; 往右滚动
ccui.ScrollView.EVENT_SCROLLING = 4; 滚动中
ccui.ScrollView.EVENT_BOUNCE_TOP = 5; 往上回弹
ccui.ScrollView.EVENT_BOUNCE_BOTTOM = 6; 往下回弹
ccui.ScrollView.EVENT_BOUNCE_LEFT = 7; 往左回弹
ccui.ScrollView.EVENT_BOUNCE_RIGHT = 8; 往右回弹
ccui.ScrollView.AUTO_SCROLL_MAX_SPEED = 1000; 最大滚动速度
ccui.ScrollView.SCROLLDIR_UP = cc.p(0, 1);
ccui.ScrollView.SCROLLDIR_DOWN = cc.p(0, -1);
ccui.ScrollView.SCROLLDIR_LEFT = cc.p(-1, 0);
ccui.ScrollView.SCROLLDIR_RIGHT = cc.p(1, 0);
/**
* UIPageView.h -> "enum class EventType"
* 交互事件
*/
ccui.PageView.EVENT_TURNING = 0; 拖拽
/**
* UIPageView.h -> "enum class TouchDirection"
* 拖动方向
*/
ccui.PageView.TOUCH_DIR_LEFT = 0;
ccui.PageView.TOUCH_DIR_RIGHT = 1;
ccui.PageView.TOUCH_DIR_UP = 2;
ccui.PageView.TOUCH_DIR_DOWN = 3;
/**
* 滚动方向
*/
ccui.PageView.DIRECTION_HORIZONTAL = 0;
ccui.PageView.DIRECTION_VERTICAL = 1;
/*
* UIButton
* 渲染方式
*/
ccui.NORMAL_RENDERER_ZORDER = -2; 普通渲染
ccui.PRESSED_RENDERER_ZORDER = -2; 压缩渲染
ccui.DISABLED_RENDERER_ZORDER = -2; 禁用渲染
ccui.TITLE_RENDERER_ZORDER = -1; 标题渲染
/**
* 九宫格位置
1 2 3
4 5 6
7 8 9
*/
ccui.Scale9Sprite.POSITIONS_CENTRE
ccui.Scale9Sprite.POSITIONS_TOP
ccui.Scale9Sprite.POSITIONS_LEFT
ccui.Scale9Sprite.POSITIONS_RIGHT
ccui.Scale9Sprite.POSITIONS_BOTTOM
ccui.Scale9Sprite.POSITIONS_TOPRIGHT
ccui.Scale9Sprite.POSITIONS_TOPLEFT
ccui.Scale9Sprite.POSITIONS_BOTTOMRIGHT
ccui.Scale9Sprite.POSITIONS_BOTTOMLEFT
/*
* UICheckBox.h -> "enum class EventType"
* 选中事件
*/
ccui.CheckBox.EVENT_SELECTED = 0; 选中
ccui.CheckBox.EVENT_UNSELECTED = 1; 未选中
ccui.CheckBox.BOX_RENDERER_ZORDER = -1;
ccui.CheckBox.BOX_SELECTED_RENDERER_ZORDER = -1;
ccui.CheckBox.BOX_DISABLED_RENDERER_ZORDER = -1;
ccui.CheckBox.FRONT_CROSS_RENDERER_ZORDER = -1;
ccui.CheckBox.FRONT_CROSS_DISABLED_RENDERER_ZORDER = -1;
/*
* UIImageView
*/
ccui.ImageView.RENDERER_ZORDER = -1;
/*
* UILoadingBar.h -> "enum class Direction"
* 进度条进度方向
*/
ccui.LoadingBar.TYPE_LEFT = 0; 从左往右
ccui.LoadingBar.TYPE_RIGHT = 1; 从右往左
ccui.LoadingBar.RENDERER_ZORDER = -1;
/*
* UIRichElement
*/
//Rich element type
//ccui.RichElement.TYPE_TEXT = 0;
//ccui.RichElement.TYPE_IMAGE = 1;
//ccui.RichElement.TYPE_CUSTOM = 2;
/*
* UISlider.h -> "enum class EventType"
* 交互事件
*/
ccui.Slider.EVENT_PERCENT_CHANGED = 0; 百分比已更改
ccui.Slider.EVENT_SLIDEBALL_DOWN = 1; 事件滑块下降
ccui.Slider.EVENT_SLIDEBALL_UP = 2; 事件滑块上升
ccui.Slider.EVENT_SLIDEBALL_CANCEL = 3; 事件滑块取消
/*
* UISlider渲染
*/
ccui.Slider.BASEBAR_RENDERER_ZORDER = -3;
ccui.Slider.PROGRESSBAR_RENDERER_ZORDER = -2;
ccui.Slider.BALL_RENDERER_ZORDER = -1;
/*
* UIText渲染
*/
ccui.Text.RENDERER_ZORDER = -1;
/*
* UITextAtlas渲染
*/
ccui.TextAtlas.RENDERER_ZORDER = -1;
/*
* UITextBMFont渲染
*/
ccui.TextBMFont.RENDERER_ZORDER = -1;
/*
* UITextField.h -> "typedef enum TextFiledEventType"
* 交互事件
*/
ccui.TextField.EVENT_ATTACH_WITH_IME = 0; 弹出键盘
ccui.TextField.EVENT_DETACH_WITH_IME = 1; 收起键盘
ccui.TextField.EVENT_INSERT_TEXT = 2; 输入字符
ccui.TextField.EVENT_DELETE_BACKWARD = 3; 回退字符
ccui.TextField.RENDERER_ZORDER = -1;
/*
* UIRadioButton.h -> "RadioButton" -> "enum class EventType"
* 交互事件
*/
ccui.RadioButton.EVENT_SELECTED = 0; 选中
ccui.RadioButton.EVENT_UNSELECTED = 1; 未选中
/*
* UIRadioButton.h -> "RadioButtonGroup" -> "enum class EventType"
* 交互事件
*/
ccui.RadioButtonGroup.EVENT_SELECT_CHANGED = 0; 选中状态改变
/**
* ScrollView的滚动方向
*/
enum class Direction
{
NONE,
VERTICAL,
HORIZONTAL,
BOTH
};
/**
* ScrollView的滚动事件类型
*/
enum class EventType
{
SCROLL_TO_TOP, // 向上滚动
SCROLL_TO_BOTTOM, // 向下滚动
SCROLL_TO_LEFT, // 向左滚动
SCROLL_TO_RIGHT, // 向右滚动
SCROLLING, // 滚动中
BOUNCE_TOP, // 向上反弹
BOUNCE_BOTTOM, // 向下反弹
BOUNCE_LEFT, // 向左反弹
BOUNCE_RIGHT, // 向右反弹
CONTAINER_MOVED // 容器移动
};
/**
* 构造函数
* @js ctor
* @lua new
*/
ScrollView();
/**
* 创建一个空ScrollView
* @return 返回一个ScrollView
*/
static ScrollView* create();
/**
* 设置ScrollView的滚动方向
* @param dir 查看枚举 Direction
*/
virtual void setDirection(Direction dir);
/**
* 获取ScrollView的滚动方向
* @return 返回Direction枚举
*/
Direction getDirection()const;
/**
* 获取ScrollView内的基容器,是一个ScrollView的子视图(继承关系)
* @return 返回ScrollView内的子容器
*/
Layout* getInnerContainer()const;
/**
* 将ScrollView滚动到底部
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToBottom(float timeInSec, bool attenuated);
/**
* 将ScrollView滚动到顶部
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToTop(float timeInSec, bool attenuated);
/**
* 将ScrollView滚动到左侧
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToLeft(float timeInSec, bool attenuated);
/**
* 将ScrollView滚动到右侧
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToRight(float timeInSec, bool attenuated);
/**
* 将ScrollView滚动到顶部左侧
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToTopLeft(float timeInSec, bool attenuated);
/**
* 将ScrollView滚动到顶部右侧
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToTopRight(float timeInSec, bool attenuated);
/**
* 将ScrollView滚动到底部左侧
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToBottomLeft(float timeInSec, bool attenuated);
/**
* 将ScrollView滚动到底部右侧
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToBottomRight(float timeInSec, bool attenuated);
/**
* 将ScrollView以垂直方向滚动到指定百分比位置
* @param percent 百分值 0-100
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToPercentVertical(float percent, float timeInSec, bool attenuated);
/**
* 将ScrollView以水平方向滚动到指定百分比位置
* @param percent 百分值 0-100
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToPercentHorizontal(float percent, float timeInSec, bool attenuated);
/**
* 将ScrollView以水平和垂直方向滚动到指定百分比位置
* @param percent 百分值 0-100
* @param timeInSec 滚动时长
* @param attenuated 是否进行减速
*/
void scrollToPercentBothDirection(const Vec2& percent, float timeInSec, bool attenuated);
/**
* 跳到ScrollView底部
*/
virtual void jumpToBottom();
/**
* 跳到ScrollView顶部
*/
virtual void jumpToTop();
/**
* 跳到ScrollView左侧
*/
virtual void jumpToLeft();
/**
* 跳到ScrollView右侧
*/
virtual void jumpToRight();
/**
* 跳到ScrollView左上
*/
virtual void jumpToTopLeft();
/**
* 跳到ScrollView右上
*/
virtual void jumpToTopRight();
/**
* 跳到ScrollView左下
*/
virtual void jumpToBottomLeft();
/**
* 跳到ScrollView右下
*/
virtual void jumpToBottomRight();
/**
* 以垂直方向跳到ScrollView指定的百分比位置
* @param percent 百分值 0-100
*/
virtual void jumpToPercentVertical(float percent);
/**
* 以水平方向跳到ScrollView指定的百分比位置
* @param percent 百分值 0-100
*/
virtual void jumpToPercentHorizontal(float percent);
/**
* 以水平和垂直方向跳到ScrollView指定的百分比位置
* @param percent 百分值 0-100
*/
virtual void jumpToPercentBothDirection(const Vec2& percent);
/**
* 设置ScrollView的滚动范围大小
* @param size 滚动范围
*/
void setInnerContainerSize(const Size &size);
/**
* 获取ScrollView的滚动范围大小
* @return Size 滚动范围
*/
const Size& getInnerContainerSize() const;
/**
* 设置ScrollView的滚动位置
* @param pos 坐标
*/
void setInnerContainerPosition(const Vec2 &pos);
/**
* 获取ScrollView的滚动位置
* @return Vec2 坐标
*/
const Vec2 getInnerContainerPosition() const;
/**
* ScrollView即将滚动时调用的回调
*/
typedef std::function<void(Ref*, EventType)> ccScrollViewCallback;
/**
* 添加ScrollView的滚动事件回调
* @param callback 查看ccScrollViewCallback
*/
virtual void addEventListener(const ccScrollViewCallback& callback);
/**
* 添加子节点
* @param child 子节点
* @param localZOrder 层级树中的位置
* @param tag 节点tag值
* @param name 节点名
*/
virtual void addChild(Node* child)override;
virtual void addChild(Node * child, int localZOrder)override;
virtual void addChild(Node* child, int localZOrder, int tag) override;
virtual void addChild(Node* child, int localZOrder, const std::string &name) override;
/**
* 移除所有子节点
*/
virtual void removeAllChildren() override;
/**
* 移除所有子节点并清除动作及回调函数
*/
virtual void removeAllChildrenWithCleanup(bool cleanup) override;
/**
* 移除指定节点
* @param child 子节点
* @param cleaup 是否清除动作及回调函数
*/
virtual void removeChild(Node* child, bool cleaup = true) override;
/**
* 获取子节点
*/
virtual Vector& getChildren() override;
virtual const Vector& getChildren() const override;
/**
* 获取所有子节点的总数
*/
virtual ssize_t getChildrenCount() const override;
/**
* 通过tag获取子节点
* @param tag 节点tag值
*/
virtual Node * getChildByTag(int tag) const override;
/**
* 通过name获取子节点
* @param name 节点name值
*/
virtual Node* getChildByName(const std::string& name)const override;
/**
* ScrollView交互事件
*/
virtual bool onTouchBegan(Touch *touch, Event *unusedEvent) override;
virtual void onTouchMoved(Touch *touch, Event *unusedEvent) override;
virtual void onTouchEnded(Touch *touch, Event *unusedEvent) override;
virtual void onTouchCancelled(Touch *touch, Event *unusedEvent) override;
/**
* ?
*/
virtual void update(float dt) override;
/**
* 设置ScrollView回弹效果
* @param enabled 是否可以回弹
*/
void setBounceEnabled(bool enabled);
/**
* 获取ScrollView是否回弹
* @return 是否可以回弹
*/
bool isBounceEnabled() const;
/**
* 设置ScrollView的惯性滚动(即快速拖动后,会继续滚动一段距离并逐渐停下)
* @param enabled 是否设置惯性滚动
*/
void setInertiaScrollEnabled(bool enabled);
/**
* 获取ScrollView是否惯性滚动
* @return 是否支持惯性滚动
*/
bool isInertiaScrollEnabled() const;
/**
* 设置ScrollView是否显示滚动条
* @param enabled 是否显示滚动条
*/
void setScrollBarEnabled(bool enabled);
/**
* 获取ScrollView是否显示滚动条
* @return 是否显示滚动条
*/
bool isScrollBarEnabled() const;
/**
* 从左下角(水平)和右上角(垂直)设置滚动条位置
* @param positionFromCorner 坐标位置
*/
void setScrollBarPositionFromCorner(const Vec2& positionFromCorner);
/**
* 从右上角设置垂直滚动条位置
* @param positionFromCorner 坐标位置
*/
void setScrollBarPositionFromCornerForVertical(const Vec2& positionFromCorner);
/**
* 从右上角获取垂直滚动条的位置
* @return positionFromCorner 坐标位置
*/
Vec2 getScrollBarPositionFromCornerForVertical() const;
/**
* 从左下角设置水平滚动条的位置
* @param positionFromCorner 坐标位置
*/
void setScrollBarPositionFromCornerForHorizontal(const Vec2& positionFromCorner);
/**
* 从右上角获取水平滚动条的位置
* @return positionFromCorner 坐标位置
*/
Vec2 getScrollBarPositionFromCornerForHorizontal() const;
/**
* 设置滚动条的宽度
* @param width 滚动条的宽度
*/
void setScrollBarWidth(float width);
/**
* 获取滚动条的宽度
* @return 滚动条的宽度
*/
float getScrollBarWidth() const;
/**
* 设置滚动条的颜色
* @param color 滚动条颜色
*/
void setScrollBarColor(const Color3B& color);
/**
* 获取滚动条的颜色
* @return 滚动条颜色
*/
const Color3B& getScrollBarColor() const;
/**
* 设置滚动条的透明度
* @param opacity 透明度 0-100
*/
void setScrollBarOpacity(GLubyte opacity);
/**
* 获取滚动条的透明度
* @return 透明度 0-100
*/
GLubyte getScrollBarOpacity() const;
/**
* 设置滚动条自动隐藏状态
* @param autoHideEnabled 是否自动隐藏
*/
void setScrollBarAutoHideEnabled(bool autoHideEnabled);
/**
* 获取滚动条自动隐藏状态
* @return 是否自动隐藏
*/
bool isScrollBarAutoHideEnabled() const;
/**
* 设置滚动条自动隐藏时间
* @param autoHideTime 自动隐藏的时间
*/
void setScrollBarAutoHideTime(float autoHideTime);
/**
* 获取滚动条自动隐藏时间
* @return 自动隐藏的时间
*/
float getScrollBarAutoHideTime() const;
enum class Type
{
ABSOLUTE,
VERTICAL,
HORIZONTAL,
RELATIVE
};
/**
* 设置ScrollView的布局类型
* @param type 类型枚举(查阅Layout::Type)
*/
virtual void setLayoutType(Type type) override;
/**
* 设置ScrollView的布局类型
* @param type 类型枚举(查阅Layout::Type)
*/
virtual Type getLayoutType() const override;
/**
* 获得ScrollView控件描述
*/
virtual std::string getDescription() const override;
/**
* @lua NA
*/
virtual void onEnter() override;
/**
* 当一个小部件在一个布局中时,你可以调用这个方法来在指定的方向上获得下一个焦点部件。
* 如果小部件不在布局中,它将自行返回
*@param direction 在布局中查找下一个重点小部件的方向
*@param current 当前重点小部件
*@return 布局中的下一个重点小部件
*/
virtual Widget* findNextFocusedWidget(FocusDirection direction, Widget* current) override;
// 初始化
var scrollView = new ccui.ScrollView();
// 设置方向
scrollView.setDirection(ccui.ScrollView.DIR_VERTICAL);
// 允许交互
scrollView.setTouchEnabled(true);
// 设置回弹
scrollView.setBounceEnabled(true);
// 设置滑动的惯性
scrollView.setInertiaScrollEnabled(true);
// 设置滚动内容的范围
scrollView.setContentSize(cc.size(size.width, size.height));
// 设置容器的大小
scrollView.setInnerContainerSize(cc.size(size.width, size.height*4));
// 添加触摸事件监听器
scrollView.addEventListener(this.scrollViewCall, this);
// 锚点
scrollView.setAnchorPoint(cc.p(0,0));
// 位置坐标
scrollView.setPosition(cc.p(0,0));
// 滚动至底部
scrollView.jumpToBottom();
// 0-3滑动到上下左右触发,4滑动一直触发,5-8惯性滑动到上下左右触发
scrollViewCall:function(sender, type){
switch (type){
case ccui.ScrollView.EVENT_SCROLL_TO_TOP:break;
case ccui.ScrollView.EVENT_SCROLL_TO_BOTTOM:break;
case ccui.ScrollView.EVENT_SCROLL_TO_LEFT:break;
case ccui.ScrollView.EVENT_SCROLL_TO_RIGHT:break;
case ccui.ScrollView.EVENT_SCROLLING:break;
case ccui.ScrollView.EVENT_BOUNCE_TOP:break;
case ccui.ScrollView.EVENT_BOUNCE_BOTTOM:break;
case ccui.ScrollView.EVENT_BOUNCE_LEFT:break;
case ccui.ScrollView.EVENT_BOUNCE_RIGHT:break;
default:break;
}
},
this.addChild(scrollView);
var emojiView = new ccui.ScrollView(); // 初始化
var emojiList = game.emojiList; // 表情数组(保存emoji表情,如��)
var width = emojiView.width; // 滚动视图宽度
var rowCount = 7; // 每行个数
var emojiWidth = width / rowCount; // 表情按钮大小
var maxRow = Math.ceil(emojiList.length / rowCount); // 最大行
var scrollViewHeight = maxRow * emojiWidth; // 滚动视图内容高度
emojiView.setInnerContainerSize(cc.size(emojiView.width, scrollViewHeight)); // 设置滚动范围
// 将emoji表情添加到滚动列表上
for (var i = 0; i < emojiList.length; i++) {
var row = parseInt(i / rowCount); // 当前行
var col = i % rowCount; // 当前列
// 按钮
var emojiBtn = new ccui.Button("","");
emojiBtn.setAnchorPoint(0.5, 0.5)
emojiBtn.setPosition(emojiWidth * col + emojiWidth / 2, scrollViewHeight - (emojiWidth * row + emojiWidth / 2));
emojiBtn.setTitleText(emojiList[i]);//在按钮上方添加一个label.
emojiBtn.setTitleFontSize(40);
emojiView.addChild(emojiBtn);
}
cocos2d-x3.3 lua调用webview回调函数
/**
* 设置javascript接口前缀(用于JS交互作用)
* 例如设置为"js",那么页面在跳转"js://xxx"时,会走setOnJSCallback回调
*/
void setJavascriptInterfaceScheme(const std::string &scheme);
/**
* 设置主页内容、MIME类型、内容编码,基本URL
* @param data 主要的内容页面。
* @param MIMEType 描述消息内容类型的因特网标准
* @param encoding 编码数据
* @param baseURL 根链接
*/
void loadData(const cocos2d::Data &data, const std::string &MIMEType, const std::string &encoding, const std::string &baseURL);
/**
* 设置主页内容和基本URL
* @param string 主要的内容页面
* @param baseURL 基URL
*/
void loadHTMLString(const std::string &string, const std::string &baseURL = "");
/**
* 加载给定的URL
* @param url 要加载的URL
*/
void loadURL(const std::string &url);
/**
* 加载给定的本地文件
* @param fileName 要加载的文件路径
*/
void loadFile(const std::string &fileName);
/**
* 停止加载
*/
void stopLoading();
/**
* 重新加载
*/
void reload();
/**
* 判断是否能返回上一页(即回到上一个URL页面)
* @return 是否能返回
*/
bool canGoBack();
/**
* 判断是否能跳转下一页(即加载下一个URL界面)
* @return 是否能返回
*/
bool canGoForward();
/**
* 回到上一页
*/
void goBack();
/**
* 前往下一页
*/
void goForward();
/**
* 用于调用JavaScript中的函数(如,web:evaluateJS("alert(\"hello\")"))
*/
void evaluateJS(const std::string &js);
/**
* 设置是否支持缩放,默认是false
*/
void setScalesPageToFit(const bool scalesPageToFit);
/**
* webView的回调函数
*/
typedef std::function<void(WebView *sender, const std::string &url)> ccWebViewCallback;
/**
* 设置即将开始加载时的回调
* @param callback 回调函数
* @return true,允许加载;false,不允许加载
*/
void setOnShouldStartLoading(const std::functionconst std::string &url)>& callback);
/**
* 获取即将开始加载时的回调
*/
std::functionconst std::string &url)> getOnShouldStartLoading()const;
/**
* 设置加载完成时的回调
* @param callback 回调函数
*/
void setOnDidFinishLoading(const ccWebViewCallback& callback);
/**
* 获取加载完成时的回调
*/
ccWebViewCallback getOnDidFinishLoading()const;
/**
* 设置加载失败时的回调
* @param callback 回调函数
*/
void setOnDidFailLoading(const ccWebViewCallback& callback);
/**
* 获取加载失败时的回调
*/
ccWebViewCallback getOnDidFailLoading()const;
/**
* 设置JS事件回调
*/
void setOnJSCallback(const ccWebViewCallback& callback);
/**
* 获取JS事件回调
*/
ccWebViewCallback getOnJSCallback()const;
ctor: function () {
// 初始化
var webView = new ccui.WebView();
// 坐标
webView.setPosition(640, 360);
// 控件大小
webView.setContentSize(1280, 720);
// 加载网络URL
webView.loadURL(http://www.baidu.com);
// 允许缩放
webView.setScalesPageToFit(true);
// 添加到视图上
this.addChild(webView);
// 设置加载流程回调
webView.setOnDidFinishLoading(this.OnDidFinishLoading.bind(this));
webView.setOnDidFailLoading(this.OnDidFailLoading.bind(this));
webView.setOnShouldStartLoading(this.OnShouldStartLoading.bind(this));
// 设置一个JS跳转的规则,cocosjs是前缀,即当跳转界面cocosjs://xxxx时,会进行回调,查看下面的OnJSCallback()函数
webView.setJavascriptInterfaceScheme("cocosjs");
// 设置JS回调
webView.setOnJSCallback(this.OnJSCallback.bind(this));
},
/**
* 加载完成后的回调
* @param sender WebView
* @param url 链接
*/
OnDidFinishLoading: function(sender, url) {
cc.log("webView OnDidFinishLoading");
},
/**
* 加载失败后的回调
* @param sender WebView
* @param url 链接
*/
OnDidFailLoading: function(sender, url) {
cc.log("webView OnDidFailLoading");
},
/**
* JS触发时的回调
* @param sender WebView
* @param url 链接
*/
OnJSCallback: function(sender, url) {
cc.log("JS回调 = " + url);
if (url == "cocosjs://closeKefuH5") {
game.UISystem.closeWindow(this);
}
},
/**
* 开始加载时的回调
* @param sender WebView
* @param url 链接
*/
OnShouldStartLoading: function(sender, url) {
cc.log("webView OnShouldStartLoading");
return true;
},
Cocos2dx 3.0 过渡篇 (二十一)自从Label有了freeType做靠山以后
/**
* 文本类型
*/
enum class Type
{
SYSTEM, // 系统
TTF // TTF
};
/**
* 构造函数
*/
Text();
/**
* 创建一个Text对象
* @return Text对象
*/
static Text* create();
/**
* 用textContent,fontName和fontSize创建一个Text对象。
* 用法:
* Text *text = Text::create("Hello", "Arial", 20);
* Text *text = Text::create("Hello", "xxx\xxx.ttf", 20);
*
* @param textContent 文本内容字符串
* @param fontName 可以是系统字体名称或TTF文件路径。
* @param fontSize 字体大小
* @return Text对象
*/
static Text* create(const std::string& textContent,
const std::string& fontName,
float fontSize);
/**
* 更改标签的字符串值
* @param text 字符串值
*/
void setString(const std::string& text);
/**
* 获取标签的字符串值
* @return 字符串值
*/
const std::string& getString()const;
/**
* 获取标签的字符串长度
* 注意:这个长度将比原始字符串长度大,如果你想获得原始字符串的长度,你应该调用this->getString().size()来代替
* @return 字符串长度
*/
ssize_t getStringLength()const;
/**
* 设置标签的字体大小
* @param 字体大小
*/
void setFontSize(float size);
/**
* 获取标签的字体大小
* @return 字体大小
*/
float getFontSize()const;
/**
* 设置文字颜色
* @param color 文字颜色
*/
void setTextColor(const Color4B color);
/**
* 获取文字颜色
* @return 文字颜色
*/
const Color4B& getTextColor() const;
/**
* 设置标签的字体名称
* 如果您尝试使用系统字体,则只需传递字体名称
* 如果您尝试使用TTF,则应该将文件路径传递给TTF文件
* 用法:
* Text *text = Text::create("Hello", "Arial", 20);
* text->setFontName("Marfelt");
* text->setFontName("xxxx/xxx.ttf");
* @param 字体名称
*/
void setFontName(const std::string& name);
/**
* 获取字体名称
* @return 字体名称
*/
const std::string& getFontName()const;
/**
* 获取字体类型
* @return 字体类型(Type)
*/
Type getType() const;
/**
* 设置标签的触摸比例
* @param enabled 启用标签的触摸缩放
*/
void setTouchScaleChangeEnabled(bool enabled);
/**
* 获取标签的触摸比例
* @return 标签是否已启用触摸比例
*/
bool isTouchScaleChangeEnabled()const;
/*
* ?
*/
virtual Size getVirtualRendererSize() const override;
/*
* ?
*/
virtual Node* getVirtualRenderer() override;
/**
* 获取自动模式下的渲染大小
* @return 渲染大小在自动模式下的大小
*/
virtual Size getAutoRenderSize();
/**
* 返回控件的“类名”
*/
virtual std::string getDescription() const override;
/**
* 设置文字渲染范围(即文本显示范围)
* 同时调用`ignoreContentAdaptWithSize(false)`,否则就是文本区域
* 大小是通过文本内容的真实大小来计算的
* @param 渲染范围
*
*/
void setTextAreaSize(const Size &size);
/**
* 返回文本渲染区域大小
* @return 文本渲染区域大小
*/
const Size& getTextAreaSize()const;
/**
* 水平对齐方式
*/
enum class CC_DLL TextHAlignment
{
LEFT,
CENTER,
RIGHT
};
/**
* 设置文本水平对齐
* @param alignment 文本水平对齐类型
*/
void setTextHorizontalAlignment(TextHAlignment alignment);
/**
* 获取文本水平对齐
* @return 文本水平对齐类型
*/
TextHAlignment getTextHorizontalAlignment()const;
/**
* 设置文本垂直对齐
* @param alignment 文本垂直对齐类型
*/
void setTextVerticalAlignment(TextVAlignment alignment);
/**
* 获取文本垂直对齐
* @return 文本垂直对齐类型
*/
TextVAlignment getTextVerticalAlignment()const;
/**
* 为标签启用阴影,支持阴影效果模糊
* @param shadowColor 阴影效果的颜色
* @param offset 阴影效应的偏移
* @param blurRadius 阴影效果的模糊半径
*/
void enableShadow(const Color4B& shadowColor = Color4B::BLACK,
const Size &offset = Size(2,-2),
int blurRadius = 0);
/**
* 返回是否启用阴影效果。
*/
bool isShadowEnabled() const;
/**
* 返回阴影偏移量
*/
Size getShadowOffset() const;
/**
* 返回阴影模糊半径
*/
float getShadowBlurRadius() const;
/**
* 返回阴影颜色
*/
Color4B getShadowColor() const;
/**
* 为标签启用描边
* 只有在使用系统字体时,才能在IOS和Android上运行
*
* @param outlineColor 描边的颜色
* @param outlineSize 描边的大小
*/
void enableOutline(const Color4B& outlineColor,int outlineSize = 1);
/**
* 返回描边大小
*/
int getOutlineSize() const;
/**
* 字体荧光,只支持TTF
* @param glowColor 荧光颜色
*/
void enableGlow(const Color4B& glowColor);
/**
* 文字效果
*/
enum class LabelEffect {
NORMAL,
OUTLINE,
SHADOW,
GLOW,
ALL
};
/**
* 禁用所有文字效果,包括阴影,描边和荧光。
*/
void disableEffect();
/**
* 禁用特定的文字效果
* @param effect 使用LabelEffect参数指定应该禁用哪个效果。
*/
void disableEffect(LabelEffect effect);
/**
* 返回当前字体效果类型
*/
LabelEffect getLabelEffectType() const;
/**
* 返回当前效果颜色值
*/
Color4B getEffectColor() const;
var text = new ccui.Text("玉米包谷玉米包谷 ?(此处为emoji表情)", "STYuanti-SC-Regular", 20);
text.setPosition(640, 360);
text.setFontSize(30);
text.setTextColor(cc.hexToColor("#87562A"));
text.setTextAreaSize(cc.size(500, 300));
text.ignoreContentAdaptWithSize(false);
text.setTextHorizontalAlignment(cc.VERTICAL_TEXT_ALIGNMENT_CENTER);
// 阴影
text.enableShadow(cc.color(0,0,0,255), cc.size(5, 5), 5);
// 描边
text.enableOutline(cc.color(255,255,255,255), 5);
// 取消描边
text.disableEffect(1);
/**
* 构造函数
*/
TextAtlas();
/**
* 创建一个TextAtlas对象
* @return TextAtlas对象
*/
static TextAtlas* create();
/**
* 从一个字符映射文件创建一个TextAtlas对象
* @param stringValue 给定需要显示的字符串
* 注意:输入的字符串必须是'.'、'/'、'1'、'2'、"3"、"4"、"5"、"6"、"7"、"8"、"9"
* @param charMapFile 给定的字符映射文件名
* 注意:文件图片中的文字必须在同一行,如果是两行的会无法显示完整
* @param itemWidth 字符的宽度
* @param itemHeight 字符的高度
* @param startCharMap 字符映射文件的起始字符
* 注意: 输入的字符串必须是'.'、'/'、'1'、'2'、"3"、"4"、"5"、"6"、"7"、"8"、"9"
* @return TextAtlas对象
*/
static TextAtlas* create(const std::string& stringValue,
const std::string& charMapFile,
int itemWidth,
int itemHeight,
const std::string& startCharMap);
/**
* 从一个字符映射文件创建一个TextAtlas对象
* @param stringValue 给定需要显示的字符串
* 注意:输入的字符串必须是'.'、'/'、'1'、'2'、"3"、"4"、"5"、"6"、"7"、"8"、"9"
* @param charMapFile 给定的字符映射文件名
* 注意:文件图片中的文字必须在同一行,如果是两行的会无法显示完整
* @param itemWidth 字符的宽度
* @param itemHeight 字符的高度
* @param startCharMap 字符映射文件的起始字符
* 注意: 输入的字符串必须是'.'、'/'、'1'、'2'、"3"、"4"、"5"、"6"、"7"、"8"、"9"
*/
void setProperty(const std::string& stringValue,
const std::string& charMapFile,
int itemWidth,
int itemHeight,
const std::string& startCharMap);
/**
* 为TextAtlas设置字符串值
* @param value 给定需要显示的字符串
*/
void setString(const std::string& value);
/**
* 获取TextAtlas的字符串值
* @return 给定需要显示的字符串
*/
const std::string& getString() const;
/**
* 获取字符串长度
* 注意:这个长度将比原始字符串长度大
* 如果你想得到原始字符串的长度,你应该调用this-> getString().size()来代替
* @return 字符串长度
*/
ssize_t getStringLength()const;
// 此处字符"."对应的字符是"+",字符"./167"对应展示的即为"+-167"
var text = new ccui.TextAtlas("", "res/Fonts/HeadScoreFont_0.png", 15, 26, ".");
text.setString("./167");
text.setPosition(640, 360);
this.addChild(text);
HeadScoreFont_0.png
HeadScoreFont_0.png对应的fnt文件
info face="Arial" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=32 base=26 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0
page id=0 file="HeadScoreFont_0.png"
chars count=12
char id=43 x=0 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=45 x=15 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=48 x=30 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=49 x=45 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=50 x=60 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=51 x=75 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=52 x=90 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=53 x=105 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=54 x=120 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=55 x=135 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=56 x=150 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
char id=57 x=165 y=0 width=14 height=26 xoffset=0 yoffset=0 xadvance=14 page=0 chnl=15
/**
* 构造函数
*/
TextBMFont();
/**
* 构造函数
* @param text 显示的文本
* @param filename fnt文件路径
* @return TextBMFont对象
*/
static TextBMFont* create();
static TextBMFont* create(const std::string& text, const std::string& filename);
/**
* 设置TextBMFont对象的Fnt文件
*/
void setFntFile(const std::string& fileName);
/**
* 设置TextBMFont对象的文本
*/
void setString(const std::string& value);
/**
* 获取TextBMFont的字符串值
*/
const std::string& getString()const;
/**
* 获取字符串长度
* 注意:这个长度将比原始字符串长度大
* 如果你想得到原始字符串的长度,你应该调用this-> getString().size()来代替
* @return 字符串长度
*/
ssize_t getStringLength()const;
// 此处的HeadScoreFont.fnt文件与TextAtlas中的FNT文件是同一个
var text = new ccui.TextBMFont("", "res/Fonts/HeadScoreFont.fnt");
text.setString("+-167");
text.setPosition(640, 360);
this.addChild(text);
/**
* TextField事件类型
*/
enum class EventType
{
ATTACH_WITH_IME, // 键盘弹出
DETACH_WITH_IME, // 键盘回收
INSERT_TEXT, // 输入字符
DELETE_BACKWARD, // 删除字符
};
/**
* 一个将在TextField事件发生时被调用的回调
*/
typedef std::function<void(Ref*, EventType)> ccTextFieldCallback;
/**
* 构造函数
*/
TextField();
/**
* 构造函数
* @return TextField实例
*/
static TextField* create();
/**
* 构造函数
* @param placeholder 占位符
* @param fontName The 字体名
* @param fontSize The 字体大小
* @return TextField实例
*/
static TextField* create(const std::string& placeholder,
const std::string& fontName,
int fontSize);
/**
* 设置TextField触摸范围
* 触摸范围用于 "hitTest"
* @param 触摸范围
*/
void setTouchSize(const Size &size);
/**
* 获取TextField的当前触摸范围
* @return 触摸范围
*/
Size getTouchSize()const;
/**
* 启用切换启用触摸区域。
* @param enable 是否允许触摸
*/
void setTouchAreaEnabled(bool enable);
virtual bool hitTest(const Vec2 &pt, const Camera* camera, Vec3 *p) const override;
/**
* 设置占位符
* @param value 占位符
*/
void setPlaceHolder(const std::string& value);
/**
* 获取占位符
* @return 占位符
*/
const std::string& getPlaceHolder()const;
/**
* 设置占位符颜色
* @param color 占位符颜色
*/
void setPlaceHolderColor(const Color3B& color);
void setPlaceHolderColor(const Color4B& color);
/**
* 获取占位符颜色
* @return 占位符颜色
*/
const Color4B& getPlaceHolderColor()const;
/**
* 设置文本颜色
* @param textColor 文本颜色
*/
void setTextColor(const Color4B& textColor);
/**
* 获取文本颜色
* @return 文本颜色
*/
const Color4B& getTextColor()const;
/**
* 设置文本大小
* @param size 文本大小
*/
void setFontSize(int size);
/**
* 获取文本大小
* @return 文本大小
*/
int getFontSize()const;
/**
* 设置文本字体
* @param name 字体名
*/
void setFontName(const std::string& name);
/**
* 获取文本字体
* @return 文本字体
*/
const std::string& getFontName()const;
/**
* 设置文本
* @param text 文本
*/
void setString(const std::string& text);
/**
* 获取文本
* @return 文本
*/
const std::string& getString()const;
/**
* 启用最大长度限制
* @param enable 是否启用
*/
void setMaxLengthEnabled(bool enable);
/**
* 获取是否启用最大长度
* @return 是否启用
*/
bool isMaxLengthEnabled()const;
/**
* 设置长度限制
* @param length 最大长度
*/
void setMaxLength(int length);
/**
* 获取长度限制的长度
* @return 长度
*/
int getMaxLength()const;
/**
* 获取文本长度
* @return 文本长度
*/
int getStringLength() const;
/**
* 启用密文模式
* @param enable 是否启用密文模式
*/
void setPasswordEnabled(bool enable);
/**
* 获取是否启用了密文模式
* @return 是否启用密文模式
*/
bool isPasswordEnabled()const;
/**
* 设置密文模式字符样式
* @param styleText 字符样式,默认为'*'
*/
void setPasswordStyleText(const char* styleText);
/**
* 获取密文样式
* @return 密文样式
*/
const char* getPasswordStyleText()const;
/**
* 设置启用IME
* @param attach 如果附加IME则为true,否则为false。
*/
void setAttachWithIME(bool attach);
/**
* 查询IME是否附加。
* @return 如果附加了IME,则为true;否则为false。
*/
bool getAttachWithIME()const;
/**
* 设置与IME分离
* @param detach 是否分离
*/
void setDetachWithIME(bool detach);
/**
* 查询IME是否被分离
* @return 是否分离
*/
bool getDetachWithIME()const;
/**
* 启用插入文本模式
* @param true,启用;false,未启用
*/
void setInsertText(bool insertText);
/**
* 是否准备好插入文本
* @return 如果插入文本准备就绪,则返回true,否则返回false
*/
bool getInsertText()const;
/**
* 启用删除字符模式
* @param deleteBackward true,启用;false,未启用
*/
void setDeleteBackward(bool deleteBackward);
/**
* 是否准备好删除文本
* @return true进行删除文本,否则为false。
*/
bool getDeleteBackward()const;
/**
* 给TextField添加一个事件监听器,当某个预定义的事件发生时,回调将被调用。
* @param target 事件对象
* @param selecor 对调函数
*/
void addEventListener(const ccTextFieldCallback& callback);
/**
* 打开键盘
*/
void attachWithIME();
/**
* 设置文字渲染范围(即文本显示范围)
* 注意:要实现该函数的效果,必须调用该对象的ignoreContentAdaptWithSize(false)
* @param 渲染范围
*/
void setTextAreaSize(const Size &size);
/**
* 设置水平方向对齐方式
* @param alignment 对齐方式,查看TextHAlignment
*/
void setTextHorizontalAlignment(TextHAlignment alignment);
/**
* 获取水平方向对齐方式
* @return 对齐方式
*/
TextHAlignment getTextHorizontalAlignment() const;
/**
* 设置垂直方向对齐方式
* @param alignment 对齐方式,查看TextVAlignment
*/
void setTextVerticalAlignment(TextVAlignment alignment);
/**
* 获取垂直方向对齐方式
* @return 对齐方式
*/
TextVAlignment getTextVerticalAlignment() const;