【发布时间】:2019-01-08 15:37:03
【问题描述】:
我和几个朋友一直在编写一个有趣的新射击机制。为了让它发挥作用,我们需要朝玩家面对的方向射击。 Sprite 正在使用 Pygame.Transform.Rotate 进行旋转。我们怎样才能找到一个角度,然后朝那个方向发射子弹?
这是我们的 Sprite 旋转代码
char_image_number = pygame.mouse.get_pressed()
if char_image_number == (0, 0, 0):
char_image = pygame.image.load(player_none).convert_alpha()
char_image = pygame.transform.rotate(char_image, angle)
screen.blit(background, (0,0))
screen.blit(char_image,(540, 260))
pygame.display.update()
elif char_image_number == (1, 0, 0):
print (angle)
char_image = pygame.image.load(player_left).convert_alpha()
angle+=1
char_image = pygame.transform.rotate(char_image, angle)
screen.blit(background, (0,0))
screen.blit(char_image,(540, 260))
pygame.display.update()
elif char_image_number == (0, 0, 1):
print (angle)
angle-=1
char_image = pygame.image.load(player_right).convert_alpha()
char_image=pygame.transform.rotate(char_image, angle)
screen.blit(background, (0,0))
screen.blit(char_image,(540, 260))
pygame.display.update()
elif char_image_number == (1, 0, 1):
char_image = pygame.image.load(player_both).convert_alpha()
char_image = pygame.transform.rotate(char_image, angle)
screen.blit(background, (0,0))
screen.blit(char_image,(540, 260))
pygame.display.update()
我们如何以玩家面对的角度射击?
【问题讨论】:
-
使用带有
angle和一些speed值的三角函数得到move_x和move_y -
您能否将我链接到教程或文档?我对向量很熟悉,但不知道如何在代码中做到这一点。