如何使用按钮上下移动spriteKit节点

时间:2014-06-30 19:34:11

标签: ios xcode sprite-kit

我想使用按钮上下移动我的精灵。由于你不能在精灵套件中使用UIButton我使用不同的SpriteKitNodes。节点将是箭头图像。但我想使用箭头图像移动我的原始精灵,但只需触摸它。我以为我会使用SKAction,但我被卡住了。是否可以使用另一个精灵移动一个精灵?

1 个答案:

答案 0 :(得分:0)

SpriteKit中可能没有任何按钮规定,但可以轻松地将SKSpriteNode子类化为按钮。我创建了一个可以在GitHub here上找到的类。

不建议使用SKAction基于方向按钮进行移动。相反,您需要使用标记作为方向按钮,您将在-update:方法中移动节点。

将标志保存为实例变量。

@implementation MyScene
{
    BOOL upDirection;
    BOOL downDirection;
}

-initWithSize:方法中将它们初始化为FALSE。

这是你应该如何处理-update方法中的标志:

-(void)update:(CFTimeInterval)currentTime
{
    /* Called before each frame is rendered */

    if (upDirection)
    {
        myNode.position = CGPointMake(myNode.position.x, myNode.position.y + 5); //Increment value can be adjusted
    }

    if (downDirection)
    {
        myNode.position = CGPointMake(myNode.position.x, myNode.position.y - 5); //Decrement value can be adjusted
    }
}