注意:
如果多个节点拥有相同的标记值,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];