游戏目标是为Android设备。当我添加按钮时,它们似乎一次只工作一个,我如何才能让更多的按钮工作呢?
函数如下:
def button_move(player_car):
pressed = pygame.mouse.get_pressed()
pos = pygame.mouse.get_pos()
moved = False
if pressed[0] == 1:
if 300 < pos[0] < 400 and 800 < pos[1] < 900:
player_car.move_forward()
moved = True
if 300 < pos[0] < 400 and 1100 < pos[1] < 1200:
player_car.move_backward()
moved = True
if 100 < pos[0] < 200 and 950 < pos[1] < 1050:
player_car.rotate(left=True)
if 500 < pos[0] < 600 and 950 < pos[1] < 1050:
player_car.rotate(right=True)
if not moved:
player_car.reduce_speed()
1条答案
按热度按时间ws51t4hk1#
[...]他们似乎一次只工作一个[...]”
你只有一个鼠标。你必须使用“touch”事件。使用
FINGERDOWN
和FINGERUP
事件。当FINGERDOWN
事件发生时,将手指的位置存储到字典中,并在FINGERUP
时将其删除:使用位置检测按钮是否被触摸。使用
pygame.Rect
和pygame.Rect.collidepoint
进行“触摸”检测。例如:最小示例: