【发布时间】:2020-05-02 07:54:06
【问题描述】:
我正在制作一个 pygame 游戏。单击屏幕底部的坦克按钮后,我需要能够在屏幕上放置坦克。
目前我已经硬编码了产卵的位置,但我无法将坦克放置在点击的位置(点击坦克按钮后)
def spawn_tank():
tank = pygame.image.load("tank.png")
screen.blit(tank, (250, 350))
这是我的主要代码功能
spawner = False
def main():
global new_tanks
global spawner
run = True
fps = 90
tanks = Button((59, 255, 140), 100, 610, 80, 80, text = "Tanks")
towers = Button((59, 255, 140), 510, 610, 150, 80, text = "Towers")
blue = pygame.image.load("blue_base.png")
red = pygame.image.load("red_base.png")
while run:
mx, my = pygame.mouse.get_pos()
pos = (mx, my)
screen.fill((50, 168, 66))
x = pos[0]
y = pos[1]
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
pygame.draw.rect(screen, (201, 142, 47), (0, 600, 1000, 100))
pygame.draw.line(screen, (0, 0, 0), (500,0), (500, 600))
tanks.draw(screen)
towers.draw(screen)
tanks = Button((59, 255, 140), 100, 610, 80, 80, text="Tanks")
mx, my = pygame.mouse.get_pos()
mouse_pos = (mx, my)
if tanks.isOver(mouse_pos):
tanks = Button((0, 255, 0), 100, 610, 80, 80, text="Tanks")
tanks.draw(screen)
if event.type == pygame.MOUSEBUTTONDOWN:
spawner = True
else:
tanks = Button((59, 255, 140), 100, 610, 80, 80, text="Tanks")
tanks.draw(screen)
towers = Button((59, 255, 140), 510, 610, 150, 80, text="Towers")
mx, my = pygame.mouse.get_pos()
mouse_pos = (mx, my)
if towers.isOver(mouse_pos):
towers = Button((0, 255, 0), 510, 610, 150, 80, text="Towers")
towers.draw(screen)
else:
towers = Button((59, 255, 140), 510, 610, 150, 80, text="Towers")
towers.draw(screen)
if spawner:
spawn_tank()
screen.blit(blue, (0, 100))
screen.blit(red, (800, 100))
pygame.display.flip()
clock.tick(fps)
点击坦克按钮后,我需要帮助我将坦克放置在屏幕上(无论我点击哪里)。
【问题讨论】:
标签: python python-3.x pygame