2024-10-04 03:23:41 发布
网友
我试着用角度让一个精灵和另一个精灵相交。这是我在网上找到的函数:
def findAngle(x,y,x2,y2): deltaX = x2 - x deltaY = y2 - y return math.atan2(deltaY,deltaX)
然而,这是非常不准确的。当两个精灵在同一个X上时,它们之间的距离通常仍为100-200像素。在
这是我的整个程序让你自己运行。在
P1在100100,静止不动 准确地说,你移动的角度是-120度,而不是-br'> 如果你交换罪与罪, 每帧,p2在X方向移动-1.715个单位,在Y方向移动-1.02个单位。当它在Y轴上移动了300个单位(这就完成了),它应该在X轴上移动了500个单位,这就是你要找的。在
把事情简化为玩游戏:
import math def findAngle(x,y,x2,y2): return math.atan2(y2-y,x2-x) x = 600 y = 400 angle = findAngle(100,100,x,y) dx = 2 * math.cos(angle) dy = 2 * math.sin(angle) while x > 100: x -= dx y -= dy print "At end, we were at %f,%f"%(x,y)
结果显示:最后,我们的价格是99.224131,99.534479
您应该使用cos表示x坐标,sin表示y坐标。它在draw函数中向后。在
cos
sin
draw
P1在100100,静止不动 准确地说,你移动的角度是-120度,而不是-br'> 如果你交换罪与罪, 每帧,p2在X方向移动-1.715个单位,在Y方向移动-1.02个单位。当它在Y轴上移动了300个单位(这就完成了),它应该在X轴上移动了500个单位,这就是你要找的。在
把事情简化为玩游戏:
结果显示:最后,我们的价格是99.224131,99.534479
您应该使用
cos
表示x坐标,sin
表示y坐标。它在draw
函数中向后。在相关问题 更多 >
编程相关推荐