在节点前获取CGPoint x点

时间:2015-02-22 21:06:36

标签: sprite-kit trigonometry skspritenode cgpoint

我正在使用精灵工具包进行游戏,并且一直试图在节点前面获得一个点。我一直在阅读三角学,但一直无法做到。

问题:相对于zRotation,在SKSpriteNode前面获取一个CGPoint x单位。请参阅此处的插图:http://i.stack.imgur.com/TGZ51.png

我已经明白我可以使用三角形中相邻和相反的长度来计算斜边的距离(并且斜边是矢量?)。但是,我无法理解如何相对于当前zPosition获取此向量以及如何从向量中获取一个点。

如果有人能提供一些示例代码或指出我可以找到更多信息的方向,我将不胜感激。

非常感谢!

1 个答案:

答案 0 :(得分:0)

我在尝试了一些之后解决了这个问题,以及我是如何做到的:

- (CGVector)convertAngleToVector:(CGFloat)radians {
    CGVector vector;
    vector.dx = cos(radians) * 40;
    vector.dy = sin(radians) * 40;
    return vector;
}

我用精灵zRotation调用方法,它给了我一个向量。数字40决定向量的长度。然后我把矢量添加到当前位置。