我想在精灵工具包中移动我的SKLabelNode对象



我设计了一个SKLabelNode对象。每当我触摸SKLabelNode对象时,我想让它从下向上移动,然后从上向下移动。首先,它将从下向上移动,然后需要从上向下移动。这是代码。。有人能帮忙吗!

- (void)touchesBegan:(NSSet *) touches withEvent:(UIEvent *)event
{
    //SKNode *helloNode = [self childNodeWithName:@"helloNode"];
    SKNode * helloNode=[self childNodeWithName:@"helloNode"];
    if ([helloNode.name isEqualToString:@"helloNode"])
    {
        helloNode.name = @"";
        SKAction *moveUp = [SKAction moveByX: 0 y: 100.0 duration: 0.5];
        //SKAction *zoom = [SKAction scaleTo: 2.0 duration: 0.25];
        SKAction *pause = [SKAction waitForDuration: 0.5];
        SKAction *fadeAway = [SKAction fadeOutWithDuration: 0.25];
        SKAction *fadeIn = [SKAction fadeInWithDuration:0.25];
        //SKAction *remove = [SKAction removeFromParent];
        SKAction *moveSequence = [SKAction sequence:@[moveUp, pause, fadeAway,fadeIn]];
        [helloNode runAction: moveSequence];
    }
    else
    {
        helloNode.name=@"helloNode";
        SKAction *moveUp = [SKAction moveByX: 0 y: 50.0 duration: 0.5];
        //SKAction *zoom = [SKAction scaleTo: 2.0 duration: 0.25];
        SKAction *pause = [SKAction waitForDuration: 0.5];
        SKAction *fadeAway = [SKAction fadeOutWithDuration: 0.25];
        SKAction *fadeIn = [SKAction fadeInWithDuration:0.25];
        //SKAction *remove = [SKAction removeFromParent];
        SKAction *moveSequence = [SKAction sequence:@[moveUp, pause, fadeAway,fadeIn]];
        [helloNode runAction: moveSequence];
    }
}

我不确定确切的问题你面对的。

您可以在didMoveToView中或任何您想要的位置开始向上移动操作。之后,你只需在你的触摸监听器中运行向下移动的动作。

如果你想切换你的移动方向(上一次,下一次向下..)在设置新操作之前,您需要删除以前的操作,或者只覆盖它(使用相同的操作名称)。

最新更新