pygame,当我尝试单击它时,窗口变得没有响应

时间:2018-10-07 18:44:37

标签: python pygame window

我正在与Pygame一起开发一款游戏,目前进展顺利...直到决定不响应为止。这是我的代码:(很抱歉,格式化对Stackoverflow来说不是新功能)

#MODULES USED (use from to make calling functions easier)
from random import *
from pygame import *
import pygame
from pygame.locals import *
pygame.init()
from time import *

#INITIALISE THE PYGAME WINDOW
pygame.event.pump()
screen = display.set_mode([500, 500])
blue = [230, 242, 255]
screen.fill(blue)
pygame.display.update()
default = pygame.image.load("default.jpg")
screen.blit(default, (0,0))
pygame.display.update()
click = pygame.mouse.get_pressed()
#BASIC HEXAPAWN

#ALL POSSIBLE COMPUTER'S MOVE BOARDS AS ARRAY HERE
#TThe moves from the board images are left to right
class Board:
  def __init__(self, board, moves):
      self.board = board
      self.moves = moves

boards1 = [pygame.image.load("a1.jpg"), pygame.image.load("a2.jpg"),       pygame.image.load("a3.jpg")] #move1 boards
#irrelevant stuff removed, just initialising the other boards.

#GAME MAIN LOOP
while True:
  #START GAME - 1st move
  print("You play as O, computer is X")
  currentboard = "O O O\n# # #\nX X X"
  print(currentboard)

  #PLAYER MOVE 1
  screen.blit(boards1[0], (0, 250))
  pygame.display.update()
  if boards1[0].get_rect().collidepoint(pygame.mouse.get_pos()) and click:
    screen.blit(boards1[0], (0,0))
    pmove = 0
#note: I haven't added the other board options yet.

  currentboard = boards1[pmove]

#[insert more unnecessary code here]
  for event in pygame.event.get():
    if event.type == pygame.QUIT:
      pygame.quit()
  break
pygame.quit()

基本上,每当我运行代码时,Pygame窗口看起来都不错,但是当我尝试单击图像时,它只是停止响应。另外,窗口始终停留在正在加载的光标上,这就是为什么。

我尽了一切所能,但是,不行。

如果有人可以帮助我,我将不胜感激。

谢谢:)

Eleeza

edit:我不知道其他人也可以编辑我的帖子 整理一些东西,当我运行代码时,没有错误,没有Traceback唯一的问题是无响应的事情。

对不起,我真的很不擅长解释事情:/

1 个答案:

答案 0 :(得分:0)

发生了一些事情,但是主要的事情是,在程序启动时,click变量仅设置了一次。

在主循环内移动click = pygame.mouse.get_pressed()。 如果执行此操作后仍然挂起,则应显示其余代码。

此外,还没有完整的代码,所以我不能100%确定,但是我不认为break应该在那里。