在输出向量中,当touchPosition位于玩家位置的右上角时,x和y值应为负值。
给定一个向上和向右增加的坐标系,从左下角开始,是否可以看到此代码中可能出现问题的任何错误?
double oppositeLength = (touchPosition.y - playerPosition.y);
double adjacentLength = (touchPosition.x - playerPosition.x);
double hypotenuseLength = (sqrt((oppositeLength * oppositeLength) + (adjacentLength * adjacentLength)));
double angle = asin(oppositeLength / hypotenuseLength);
double mass = 0.0000013;
CGVector vector = CGVectorMake(mass * cos(angle), mass * sin(angle));
这是一些测试输出......(Theta是弧度):
O: -119.500000, A: 87.500000, H: 148.109757, Theta: -0.938773439
...与矢量......:
{7.680115295514375e-07, -1.0488843175016773e-06}
...当touchPosition位于玩家位置的右上角时。