基 础 知 识(6)

  

注意:

如果多个节点拥有相同的标记值,getChildByTag方法将返回最先匹配该标记值的节点,其她拥有该标记值的节点就不可能再被访问到了。所以,确保每个节点的标记值都是唯一的。

而且,动作也是可以有标记值的。节点和动作的标记值互相不会产生影响,所以,某个节点与某个动作的标记值相同不会产生任何问题。

3.5.2  动作的处理方式

节点也可以运行动作。稍后我会向大家介绍动作的概念。现在,你只要知道动作是指在特定时间内完成移动、旋转、缩放以及其他操作的一些行为。

动作的声明:

CCAction* action = [CCBlink actionWithDuration:10 blinks:20];

action.tag = 234;

通过运行上面声明的动作可以令节点闪烁:

[myNode runAction:action];

如果之后想获取该动作,可以通过它的标记来获得:

CCAction* retrievedAction = [myNode getActionByTag:234];

可以通过标记来停止指定的动作:

[myNode stopActionByTag:234];

也可以通过指针来停止指定的动作:

[myNode stopAction:action];

还可以同时停止某节点上运行的所有动作:

[myNode stopAllActions];

读书导航