本文介绍了SKAction前进的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何让 SKNode
继续前进?
我已经能够使用 [SKAction moveByX:y:duration:]
让节点沿固定方向移动,但我希望它沿相对于其面向的方向移动.
I've been able to get the node to move in a fixed direction using [SKAction moveByX:y:duration:]
but I want it to move in a direction relative to the direction its facing.
我希望让每个节点转 45 度,然后走"前 50 像素.
I am looking to make each node turn 45 degrees then "walk" forward 50 pixels.
看起来很简单,我就是找不到.
It seems simple enough I just am not able to find it.
推荐答案
这会旋转,然后朝向你点击的地方
This will rotate, then towards where you tap
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
CGPoint diff = CGPointMake(location.x - _myPlayer.position.x, location.y - _myPlayer.position.y);
CGFloat angleRadians = atan2f(diff.y, diff.x);
[_myPlayer runAction:[SKAction sequence:@[
[SKAction rotateToAngle:angleRadians duration:1.0],
[SKAction moveByX:diff.x y:diff.y duration:3.0]
]]];
}
}
}
这篇关于SKAction前进的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!