【问题标题】:COCOS2D for iOS - CCMoveTo does not work...?COCOS2D for iOS - CCMoveTo 不起作用...?
【发布时间】:2011-09-20 22:39:32
【问题描述】:

对不起,我的英语水平很低。

我的代码...

CCNode *A = [self getChildByTag:kATag];
CCNode *B = [self getChildByTag:kBTag];

CCMoveTo *MoveAction = [CCMoveTo actionWithDuration:1.0f position:A.position.x, 0];

[A runAction:[[MoveAction]copy];
[B runAction:[[MoveAction]copy];

B 精灵被移动。 但是精灵不会移动。

所以,我添加了

[A stopAllActions];
[A runAction:[[MoveAction]copy];
[B runAction:[[MoveAction]copy];

但不起作用。

[A setVisible:NO] 

所以,这段代码是有效的。 精灵 A 是隐藏的。

为什么 CCMoveTO 不起作用????

【问题讨论】:

    标签: cocos2d-iphone


    【解决方案1】:

    CCMoveToV3 中已弃用,现在使用 CCActionMoveTo

    试试这个:

    CGPoint location = [touch locationInView:[touch view]];
    CGPoint convertedLocation = [[CCDirector sharedDirector] convertToGL:location];
    
    CCActionMoveTo *MoveAction = [CCActionMoveTo actionWithDuration:1.0f position:convertedLocation];
    
    [A runAction:[[MoveAction]copy];
    [B runAction:[[MoveAction]copy];
    

    【讨论】:

    • 当这个问题被问到(3年前)时,OP的表述是正确的。 @SirNod 的回答可能是正确的,而您只是混淆了这个问题。您正在混合版本 2 和版本 3 的语法(getChildByTag v2、CCActionMoveTo v3)并且还在一行代码中混合:如果 CCMoveTo 存在,CCActionMoveTo 肯定不存在。这现在或以后都不会编译。 -1
    • 在做出诸如“如果 CCMoveTo 存在,CCActionMoveTo 肯定不存在”之类的声明之前,您至少应该努力检查文档。话虽如此,代码确实在编辑后编译。 SirNod 在 V3 中不起作用,这就是我提供更新代码的原因。如果你知道答案,为什么不提供而不是不成熟?
    【解决方案2】:

    试试

    CMoveTo *MoveAction = [CCMoveTo actionWithDuration:1.0f position:CGPointMake(A.position.x, 0)];
    

    另外,A 的 Y 位置是什么?如果为 0,那么它不会移动到任何地方。

    【讨论】:

      【解决方案3】:
      CCNode *A = [self getChildByTag:kATag];
      CCNode *B = [self getChildByTag:kBTag];
      
      CCMoveTo *MoveActionA = [CCMoveTo actionWithDuration:1.0f position:A.position.x+10, 0];
      CCMoveTo *MoveActionB = [CCMoveTo actionWithDuration:1.0f position:B.position.x+10, 0];
      
      [A runAction:MoveActionA];
      [B runAction:MoveActionB];
      
      • 每个 CCNode 必须有自己的 CCAction 对象。您不能对多个 CCNode 使用单个 CCAction。
      • 再次检查您要移动到的位置是否正确。在您的代码中,您可以将其移动到当前位置。
      • 不需要“复制”来运行操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多