我正在用python创建一个经典的街机游戏“aestroids”,我在你向小行星发射的子弹上遇到了一些问题。我一直在努力追踪问题的发展。当我分别在一张纸上做数学运算时,我得到了我想要的正确答案,但是当子弹跑出来时,子弹似乎只在0度角和45度角的直角上射出。我觉得起源可能来自这个功能:
def bullet():
global newX,newY,bullangle
pygame.draw.rect(screen,white,(newX,newY,5,5))
print newX, newY
newX = newX - (math.sin( bullangle ) * 5)
newY = newY - (math.cos( bullangle ) * 5)
当按下空格键时,newX和newY被设置为我船的x,y线,bullangle是一个变量,用来保持飞船在空间被击中时的角度。在
以下是完整代码:
^{pr2}$感谢那些花时间帮助我解决这个问题的人。非常感谢。在
注意:
如您所知,
^{pr2}$math.sin
和math.cos
希望它们的参数是弧度,而不是度数,并且,如这行所示:bullangle
似乎以度为单位,并且从未转换为弧度。在相关问题 更多 >
编程相关推荐