Cocos2d 3.0的CCCallBlockN替代方案是什么?
这是我的Cocos2d 2.0代码:
id calBlock = [CCCallBlockN actionWithBlock:^(CCNode *node){
node.position = orign;
}];
答案 0 :(得分:2)
CCCallBlockN
和CCCallBlockND
变体一直是多余的,因为块可以引用本地范围内的对象:
id someData = (some data however created or obtained);
CCNode* someNode = (some node however created or obtained);
id callBlock = [CCActionCallBlock actionWithBlock:^{
someNode.position = origin;
[someData quickDoSomething];
}];
[someNode runAction:callBlock];
你只需要在块的外部范围内有一个类似someNode
的引用,以便在块内使用它。
您通常会拥有所需的节点引用,因为毕竟您将在创建操作后在所需节点上运行该操作。只有在您首先创建操作并稍后运行它们的情况下,传入的节点才会有用,但我想这是一种罕见的情况,无论如何都可能不是很好的风格。