如何在点击屏幕时使精灵移动位置

时间:2014-08-11 18:55:27

标签: ios objective-c ios7 sprite-kit

我希望我的精灵从屏幕的一侧移动到另一侧:

点击之前:

http://imgur.com/wIFa3JL

然后点击屏幕后:

http://imgur.com/ZtWiE7b

它会从这样的事情开始:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

谢谢!

1 个答案:

答案 0 :(得分:0)

当您触摸屏幕并应用于精灵的位置或仅在触摸屏幕时更改精灵的位置时,我不确定您是否想要获取手指的位置。

如果你想让你的手指在touchesBegan中的位置并将该位置应用于精灵:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInView:self];
        spriteNode.position = location;
    }
}

如果您想在每次触摸时将精灵的位置更改为树的另一侧:

首先,您需要跟踪您的精灵当前的哪一方。让我们创建一个BOOL来保存该信息:

BOOL isRightSide;

然后,在开始时,如果您的精灵从树的右侧开始,只需为布尔值指定TRUE。

最后,在触摸事件中:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    if (isRightSide) {
        //Change to sprite's position to the LEFT side 
    } else {
        //Change to sprite's position to the RIGHT side 
    }

    isRightSide = !isRightSide;
}

我希望这有助于=)