Cocos Creator API

1.2.0

Cocos Creator is a highly customizable game development tool that utilizes the power of cocos2d-x.

Scene

模块: cc

cc.Scene 是 cc.Node 的子类,仅作为一个抽象的概念。
cc.Scene 和 cc.Node 有点不同,用户不应直接修改 cc.Scene。

属性(properties)

name String

该节点名称。

示例:

node.name = "New Node";
cc.log("Node Name: " + node.name);

parent Node

该节点的父节点。

示例:

node.parent = newNode;

uuid String readOnly

用于编辑器使用的 uuid,在构建项目之前将会被剔除。

示例:

cc.log("Node Uuid: " + node.uuid);

skewX Number

该节点 Y 轴倾斜角度。

示例:

node.skewX = 0;
cc.log("Node SkewX: " + node.skewX);

skewY Number

该节点 X 轴倾斜角度。

示例:

node.skewY = 0;
cc.log("Node SkewY: " + node.skewY);

zIndex Number

该节点渲染排序的 Z 轴深度。

示例:

node.zIndex = 1;
cc.log("Node zIndex: " + node.zIndex);

rotation Number

该节点旋转角度。

示例:

node.rotation = 90;
cc.log("Node Rotation: " + node.rotation);

rotationX Number

该节点 X 轴旋转角度。

示例:

node.rotationX = 45;
cc.log("Node Rotation X: " + node.rotationX);

rotationY Number

该节点 Y 轴旋转角度。

示例:

node.rotationY = 45;
cc.log("Node Rotation Y: " + node.rotationY);

scaleX Number

节点 X 轴缩放。

示例:

node.scaleX = 0.5;
cc.log("Node Scale X: " + node.scaleX);

scaleY Number

节点 Y 轴缩放。

示例:

node.scaleY = 0.5;
cc.log("Node Scale Y: " + node.scaleY);

x Number

节点 X 轴坐标。

示例:

node.x = 100;
cc.log("Node Position X: " + node.x);

y Number

节点 Y 轴坐标。

示例:

node.y = 100;
cc.log("Node Position Y: " + node.y);

children Node[] readOnly

节点的所有子节点。

示例:

var children = node.children;
for (var i = 0; i < children.lenght; ++i) {
    cc.log("Node: " + children[i]);
}

childrenCount Number readOnly

节点的子节点数量。

示例:

var count = node.childrenCount;
cc.log("Node Children Count: " + count);

anchorX Number

节点 X 轴锚点位置。

示例:

node.anchorX = 0;

anchorY Number

节点 Y 轴锚点位置。

示例:

node.anchorY = 0;

width Number

节点宽度。

示例:

node.width = 100;

height Number

节点高度。

示例:

node.height = 100;

_ignoreAnchor Boolean private

Indicate whether ignore the anchor point property for positioning.

tag Number

节点标签。

示例:

node.tag = 1001;

opacity Number

节点透明度,默认值为 255。

示例:

node.opacity = 255;

cascadeOpacity Boolean

节点的不透明度值是否影响其子节点,默认值为 false。

示例:

cc.log("CascadeOpacity: " + node.cascadeOpacity);

color Color

节点颜色。默认为白色,数值为:(255,255,255)。

示例:

node.color = new cc.Color(255, 255, 255);

_sgNode _ccsg.Node private

Current scene graph node for this node.

_sizeProvider _ccsg.Node private

Current active size provider for this node. Size provider can equals to this._sgNode.

__eventTargets EventTarget[] private

Register all related EventTargets, all event callbacks will be removed in _onPreDestroy

scale Number

节点相对父节点的缩放。

示例:

node.scale = 1;

_name String private

_objFlags Number private

isValid Boolean readOnly

表示该对象是否可用(被销毁后将不可用)。

示例:

cc.log(obj.isValid);

There are no properties that match your current filter settings. You can change your filter settings in the index section on this page. index

方法

attr
(
  • attrs
)

属性配置函数。在 attrs 的所有属性将被设置为节点属性。

名称 类型 描述
attrs Object

Properties to be set to node

示例:

var attrs = { key: 0, num: 100 };
node.attr(attrs);

getScale ( ) Number

获取节点的缩放。当 X 轴和 Y 轴有相同的缩放数值时。

返回:

类型: Number

The scale factor

示例:

cc.log("Node Scale: " + node.getScale());

setScale
(
  • scaleX
  • [scaleY =scale]
)

设置节点的缩放比例,默认值为 1.0。这个函数可以在同一时间修改 X 和 Y 缩放。

名称 类型 描述
scaleX Number | Vec2

scaleX or scale

scaleY optional Number scale

示例:

node.setScale(cc.v2(1, 1));
node.setScale(1, 1);

getPosition ( ) Vec2

获取在父节点坐标系中节点的位置( x , y )。

返回:

类型: Vec2

The position (x,y) of the node in OpenGL coordinates

示例:

cc.log("Node Position: " + node.getPosition());

setPosition
(
  • newPosOrxValue
  • [yValue ]
)

设置节点在父坐标系中的位置。
可以通过 2 种方式设置坐标点:
1.传入 cc.v2(x, y) 类型为 cc.Vec2 的对象。
2.传入 2 个数值 x 和 y。

名称 类型 描述
newPosOrxValue Vec2 | Number

The position (x,y) of the node in coordinates or the X coordinate for position

yValue optional Number

Y coordinate for position

示例:

node.setPosition(cc.v2(0, 0));
node.setPosition(0, 0);

getAnchorPoint ( ) Vec2

获取节点锚点,用百分比表示。
锚点应用于所有变换和坐标点的操作,它就像在节点上连接其父节点的大头针。
锚点是标准化的,就像百分比一样。(0,0) 表示左下角,(1,1) 表示右上角。
但是你可以使用比(1,1)更高的值或者比(0,0)更低的值。
默认的锚点是(0.5,0.5),因此它开始于节点的中心位置。
注意:Creator 中的锚点仅用于定位所在的节点,子节点的定位不受影响。

返回:

类型: Vec2

The anchor point of node.

示例:

cc.log("Node AnchorPoint: " + node.getAnchorPoint());

setAnchorPoint
(
  • point
  • [y ]
)

设置锚点的百分比。
锚点应用于所有变换和坐标点的操作,它就像在节点上连接其父节点的大头针。
锚点是标准化的,就像百分比一样。(0,0) 表示左下角,(1,1) 表示右上角。
但是你可以使用比(1,1)更高的值或者比(0,0)更低的值。
默认的锚点是(0.5,0.5),因此它开始于节点的中心位置。
注意:Creator 中的锚点仅用于定位所在的节点,子节点的定位不受影响。

名称 类型 描述
point Vec2 | Number

The anchor point of node or The x axis anchor of node.

y optional Number

The y axis anchor of node.

示例:

node.setAnchorPoint(cc.v2(1, 1));
node.setAnchorPoint(1, 1);

getAnchorPointInPoints ( ) Vec2

返回锚点的绝对像素位置。
你只能读它。如果您要修改它,使用 setAnchorPoint。

返回:

类型: Vec2

The anchor point in absolute pixels.

示例:

cc.log("AnchorPointInPoints: " + node.getAnchorPointInPoints());

getContentSize
(
  • [ignoreSizeProvider =false]
)
Size

获取节点自身大小,不受该节点是否被缩放或者旋转的影响。

名称 类型 描述
ignoreSizeProvider optional Boolean false

true if you need to get the original size of the node

返回:

类型: Size

The untransformed size of the node.

示例:

cc.log("Content Size: " + node.getContentSize());

setContentSize
(
  • size
  • [height ]
)

设置节点原始大小,不受该节点是否被缩放或者旋转的影响。

名称 类型 描述
size Size | Number

The untransformed size of the node or The untransformed size's width of the node.

height optional Number

The untransformed size's height of the node.

示例:

node.setContentSize(cc.size(100, 100));
node.setContentSize(100, 100);

getBoundingBox ( ) Rect

返回父节坐标系下的轴向对齐的包围盒。

返回:

类型: Rect

The calculated bounding box of the node

示例:

var boundingBox = node.getBoundingBox();

cleanup ( )

停止所有正在播放的动作和计时器。

示例:

node.cleanup();

getChildByTag
(
  • aTag
)
Node

通过标签获取节点的子节点。

名称 类型 描述
aTag Number

An identifier to find the child node.

返回:

类型: Node

a CCNode object whose tag equals to the input parameter

示例:

var child = node.getChildByTag(1001);

getChildByUuid
(
  • uuid
)
Node

通过 uuid 获取节点的子节点。

名称 类型 描述
uuid String

The uuid to find the child node.

返回:

类型: Node

a Node whose uuid equals to the input parameter

示例:

var child = node.getChildByUuid(uuid);

getChildByName
(
  • name
)
Node

通过名称获取节点的子节点。

名称 类型 描述
name String

A name to find the child node.

返回:

类型: Node

a CCNode object whose name equals to the input parameter

示例:

var child = node.getChildByName("Test Node");

addChild
(
  • child
  • [localZOrder ]
  • [tag ]
)

添加子节点,并且可以修改该节点的 局部 Z 顺序和标签。

名称 类型 描述
child Node

A child node

localZOrder optional Number

Z order for drawing priority. Please refer to setZOrder(int)

tag optional Number | String

An integer or a name to identify the node easily. Please refer to setTag(int) and setName(string)

示例:

node.addChild(newNode, 1, 1001);

removeFromParent
(
  • [cleanup =true]
)

从父节点中删除一个节点。cleanup 参数为 true,那么在这个节点上所有的动作和回调都会被删除,反之则不会。
如果不传入 cleanup 参数,默认是 true 的。
如果这个节点是一个孤节点,那么什么都不会发生。

名称 类型 描述
cleanup optional Boolean true

true if all actions and callbacks on this node should be removed, false otherwise.

示例:

node.removeFromParent();
node.removeFromParent(false);

removeChild
(
  • child
  • [cleanup =true]
)

移除节点中指定的子节点,是否需要清理所有正在运行的行为取决于 cleanup 参数。
如果 cleanup 参数不传入,默认为 true 表示清理。

名称 类型 描述
child Node

The child node which will be removed.

cleanup optional Boolean true

true if all running actions and callbacks on the child node will be cleanup, false otherwise.

示例:

node.removeChild(newNode);
node.removeChild(newNode, false);

removeChildByTag
(
  • tag
  • [cleanup =true]
)

通过标签移除节点中指定的子节点,是否需要清理所有正在运行的行为取决于 cleanup 参数。
如果 cleanup 参数不传入,默认为 true 表示清理。

名称 类型 描述
tag Number

An integer number that identifies a child node

cleanup optional Boolean true

true if all running actions and callbacks on the child node will be cleanup, false otherwise.

示例:

node.removeChildByTag(1001);
node.removeChildByTag(1001, false);

removeAllChildren
(
  • [cleanup =true]
)

移除节点所有的子节点,是否需要清理所有正在运行的行为取决于 cleanup 参数。
如果 cleanup 参数不传入,默认为 true 表示清理。

名称 类型 描述
cleanup optional Boolean true

true if all running actions on all children nodes should be cleanup, false otherwise.

示例:

node.removeAllChildren();
node.removeAllChildren(false);

getParentToNodeTransform ( ) AffineTransform

返回将父节点的坐标系转换成节点(局部)的空间坐标系的矩阵。
该矩阵以像素为单位。返回的矩阵是只读的,不能更改。

返回:

类型: AffineTransform

示例:

var affineTransform = node.getParentToNodeTransform();

getNodeToWorldTransform ( ) AffineTransform

返回节点到世界坐标系的仿射变换矩阵。矩阵单位是像素。

返回:

类型: AffineTransform

示例:

var affineTransform = node.getNodeToWorldTransform();

getNodeToWorldTransformAR ( ) AffineTransform

返回节点到世界坐标仿射变换矩阵。矩阵单位是像素。
该方法基于节点坐标。

返回:

类型: AffineTransform

示例:

var mat = node.getNodeToWorldTransformAR();

getWorldToNodeTransform ( ) AffineTransform

返回:

类型: AffineTransform

示例:

var affineTransform = node.getWorldToNodeTransform();

convertToNodeSpace
(
  • worldPoint
)
Vec2

将一个点转换到节点 (局部) 坐标系。结果以 Vec2 为单位。

名称 类型 描述
worldPoint Vec2

返回:

类型: Vec2

示例:

var newVec2 = node.convertToNodeSpace(cc.v2(100, 100));

convertToWorldSpace
(
  • nodePoint
)
Vec2

将一个点转换到世界空间坐标系。结果以 Vec2 为单位。

名称 类型 描述
nodePoint Vec2

返回:

类型: Vec2

示例:

var newVec2 = node.convertToWorldSpace(cc.v2(100, 100));

convertToNodeSpaceAR
(
  • worldPoint
)
Vec2

将一个点转换到节点 (局部) 空间坐标系。结果以 Vec2 为单位。
返回值将基于节点坐标。

名称 类型 描述
worldPoint Vec2

返回:

类型: Vec2

示例:

var newVec2 = node.convertToNodeSpaceAR(cc.v2(100, 100));

convertToWorldSpaceAR
(
  • nodePoint
)
Vec2

将一个点转换到世界空间坐标系。结果以 Vec2 为单位。
返回值将基于节点坐标。

名称 类型 描述
nodePoint Vec2

返回:

类型: Vec2

示例:

var newVec2 = node.convertToWorldSpaceAR(cc.v2(100, 100));

convertTouchToNodeSpace
(
  • touch
)
Vec2

将触摸点转换成本地坐标系中位置。

名称 类型 描述
touch Touch

The touch object

返回:

类型: Vec2

示例:

var newVec2 = node.convertTouchToNodeSpace(touch);

convertTouchToNodeSpaceAR
(
  • touch
)
Vec2

转换一个 cc.Touch(世界坐标)到一个局部坐标,该方法基于节点坐标。

名称 类型 描述
touch Touch

The touch object

返回:

类型: Vec2

示例:

var newVec2 = node.convertTouchToNodeSpaceAR(touch);

getNodeToParentTransform ( ) AffineTransform

返回这个将节点(局部)的空间坐标系转换成父节点的空间坐标系的矩阵。这个矩阵以像素为单位。

返回:

类型: AffineTransform

The affine transform object

示例:

var affineTransform = node.getNodeToParentTransform();

getNodeToParentTransformAR ( ) AffineTransform

返回这个将节点(局部)的空间坐标系转换成父节点的空间坐标系的矩阵。
这个矩阵以像素为单位。
该方法基于节点坐标。

返回:

类型: AffineTransform

The affine transform object

示例:

var affineTransform = node.getNodeToParentTransformAR();

getBoundingBoxToWorld ( ) Rect

返回节点在世界坐标系下的对齐轴向的包围盒(AABB)。
该边框包含自身和已激活的子节点的世界边框。

返回:

类型: Rect

示例:

var newRect = node.getBoundingBoxToWorld();

getDisplayedOpacity ( ) number

获取节点显示透明度, 显示透明度和透明度之间的不同之处在于当启用级连透明度时, 显示透明度是基于自身透明度和父节点透明度计算的。

返回:

类型: number

displayed opacity

示例:

var displayOpacity = node.getDisplayedOpacity();

getDisplayedColor ( ) Color

获取节点的显示透明度, 显示透明度和透明度之间的不同之处在于显示透明度是基于透明度和父节点透明度启用级连透明度时计算的。

返回:

类型: Color

示例:

var displayColor = node.getDisplayedColor();

setOpacityModifyRGB
(
  • opacityValue
)

设置更改透明度时是否修改RGB值,

名称 类型 描述
opacityValue Boolean

示例:

node.setOpacityModifyRGB(true);

isOpacityModifyRGB ( ) Boolean

更改透明度时是否修改RGB值。

返回:

类型: Boolean

示例:

var hasChange = node.isOpacityModifyRGB();

getSiblingIndex ( ) number

获取同级索引。

返回:

类型: number

示例:

var index = node.getSiblingIndex();

setSiblingIndex
(
  • index
)

设置节点同级索引。

名称 类型 描述
index Number

示例:

node.setSiblingIndex(1);

isChildOf
(
  • parent
)
Boolean

是否是指定节点的子节点?

名称 类型 描述
parent Node

返回:

类型: Boolean

Returns true if this node is a child, deep child or identical to the given node.

示例:

node.isChildOf(newNode);

sortAllChildren ( )

根据子节点的 zIndex 和 arrivalOrder 进行排序,正常情况下开发者不需要手动调用这个函数。

getPositionX ( ) Number

获取节点 X 轴坐标。

返回:

类型: Number

x - The new position in x axis

示例:

var posX = node.getPositionX();

setPositionX
(
  • x
)

设置节点 X 轴坐标。

名称 类型 描述
x Number

示例:

node.setPositionX(1);

getPositionY ( ) Number

获取节点 Y 轴坐标。

返回:

类型: Number

示例:

var posY = node.getPositionY();

setPositionY
(
  • y
)

设置节点 Y 轴坐标。

名称 类型 描述
y Number

The new position in y axis

示例:

node.setPositionY(100);

getLocalZOrder ( ) Number

获取节点局部 Z 轴顺序。

返回:

类型: Number

The local (relative to its siblings) Z order.

示例:

var localZorder = node.getLocalZOrder();

setLocalZOrder
(
  • localZOrder
)

LocalZOrder 是 “key” (关键)来分辨节点和它兄弟节点的相关性。 父节点将会通过 LocalZOrder 的值来分辨所有的子节点。 如果两个节点有同样的 LocalZOrder,那么先加入子节点数组的节点将会显示在后加入的节点的前面。 同样的,场景图使用 “In-Order(按顺序)” 遍历数算法来遍历 ( http://en.wikipedia.org/wiki/Tree_traversal#In-order ) 并且拥有小于 0 的 LocalZOrder 的值的节点是 “ left ” 子树(左子树) 所以拥有大于 0 的 LocalZOrder 的值得节点是 “ right ”子树(右子树)。

名称 类型 描述
localZOrder Number

示例:

node.setLocalZOrder(1);

isCascadeOpacityEnabled ( ) Boolean

返回节点的不透明度值是否影响其子节点。

返回:

类型: Boolean

示例:

cc.log(node.isCascadeOpacityEnabled());

setCascadeOpacityEnabled
(
  • cascadeOpacityEnabled
)

启用或禁用级连不透明度,如果级连启用,子节点的不透明度将是父不透明度乘上它自己的不透明度。

名称 类型 描述
cascadeOpacityEnabled Boolean

示例:

node.setCascadeOpacityEnabled(true);

setCascadeColorEnabled
(
  • cascadeColorEnabled
)

启用或禁用级连颜色,如果级连启用,子节点的颜色将是父颜色和它自己的颜色的级连值。

名称 类型 描述
cascadeColorEnabled Boolean

示例:

node.setCascadeColorEnabled(true);

destroy ( ) Boolean

销毁该对象,并释放所有它对其它对象的引用。
销毁后,CCObject 不再可用。您可以在访问对象之前使用 cc.isValid(obj) 来检查对象是否已被销毁。 实际销毁操作会延迟到当前帧渲染前执行。

返回:

类型: Boolean

whether it is the first time the destroy being called

示例:

obj.destroy();

_destruct ( ) private

Clear all references in the instance.

NOTE: this method will not clear the getter or setter functions which defined in the INSTANCE of CCObject. You can override the _destruct method if you need.

_onPreDestroy ( ) private

Called before the object being destroyed.

_serialize
(
  • exporting
)
object private

The customized serialization for this object. (Editor Only)

名称 类型 描述
exporting Boolean

返回:

类型: object

the serialized json data object

_deserialize
(
  • data
  • ctx
)
private

Init this object from the custom serialized data.

名称 类型 描述
data Object

the serialized json data

ctx _Deserializer

There are no methods that match your current filter settings. You can change your filter settings in the index section on this page. index