CCCallBlockN 在 Cocos2d v3.0 中的替代方案


什么是

Cocos2d 3.0 的 CCCallBlockN 替代品?

这是我的 Cocos2d 2.0 代码:

    id calBlock = [CCCallBlockN actionWithBlock:^(CCNode *node){
        node.position         = orign;
    }];

CCCallBlockNCCCallBlockND 变体一直是多余的,因为块可以引用本地范围内的对象:

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这样的引用,就可以在块内使用它。

您通常会拥有所需的节点引用,因为毕竟您将在创建操作后在所需的节点上运行操作。只有在您先创建操作然后运行它们的情况下,传入的节点才有用,但我想这是一种罕见的情况,无论如何可能都不是好的风格。

最新更新