Iphone 使用SpriteKit进行驾驶计算 我有一个TrimAP(KoaldAd KIT KkTiMeMeNoPad)和一个中间字符,现在我用操纵杆来移动TrimaP上下,并计算速度,我的问题是,如果我把字符左,它仍然上下左右,因为我不知道如何计算一个新的角度下的位置。我尝试移植了一些Flash示例,但发现的示例没有平铺贴图:(

Iphone 使用SpriteKit进行驾驶计算 我有一个TrimAP(KoaldAd KIT KkTiMeMeNoPad)和一个中间字符,现在我用操纵杆来移动TrimaP上下,并计算速度,我的问题是,如果我把字符左,它仍然上下左右,因为我不知道如何计算一个新的角度下的位置。我尝试移植了一些Flash示例,但发现的示例没有平铺贴图:(,iphone,ios,objective-c,ios7,sprite-kit,Iphone,Ios,Objective C,Ios7,Sprite Kit,编辑(添加源): 计算角度的一种方法: float angle = atan2f (touchY - joystickY, touchX - joystickX); 其中touchY和touchX是玩家触摸操纵杆的坐标 和joystick和joystickX是操纵杆的坐标。要使用SKAction将节点移动该角度(您可能不想使用actions,但仍可以使用数学计算目标坐标): 您设置距离和持续时间的地方。请发布一些代码供我们查看。希望您能看到我对代码的绝望……代码正在进行中,我的数学技能非常糟糕

编辑(添加源):


计算角度的一种方法:

float angle = atan2f (touchY - joystickY, touchX - joystickX);
其中touchY和touchX是玩家触摸操纵杆的坐标 和joystick和joystickX是操纵杆的坐标。要使用SKAction将节点移动该角度(您可能不想使用actions,但仍可以使用数学计算目标坐标):


您设置距离和持续时间的地方。

请发布一些代码供我们查看。希望您能看到我对代码的绝望……代码正在进行中,我的数学技能非常糟糕:(
float angle = atan2f (touchY - joystickY, touchX - joystickX);
SKAction *moveWhatever = [SKAction moveByX: yourDistance*cosf(angle) y:yourDistance*sinf(angle) duration:yourDuration];
[node runAction: moveWhatever];