我设计了一个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中或任何您想要的位置开始向上移动操作。之后,你只需在你的触摸监听器中运行向下移动的动作。
如果你想切换你的移动方向(上一次,下一次向下..)在设置新操作之前,您需要删除以前的操作,或者只覆盖它(使用相同的操作名称)。