|
20鱼币
想写一个按z就可以出现图片,按x图片就会消失的程序可是我z都快按废了,它还不给我显示图片,这是为什么呢?
#导入模块
- #导入模块
- import pygame
- import sys
- from pygame.locals import *
- import button
- #初始化
- RED = (255, 0, 0)
- pygame.init()
- size = width, height = pygame.display.list_modes()[0][0], pygame.display.list_modes()[0][1]
- button.init("NewGame.png", "LoadGame.png", "help.png", "ExitGame.png", p=((size[0] / 2, size[1] /8), \
- (size[0] / 2, size[1] /4), (size[0] / 2, size[1] /2.6),\
- (size[0] / 2, size[1] /1.9)))
- #说明规则及制作变量条件
- WF = pygame.image.load("GZ.png")
- WFa = False
- clock = pygame.time.Clock()
- pygame.display.set_caption("test")
- #创造窗口
- screen = pygame.display.set_mode(size, FULLSCREEN | HWSURFACE)
- b1_qosition = (size[0] / 2, size[1] /8)
- b2_qosition = (size[0] / 2, size[1] /4)
- b3_qosition = (size[0] / 2, size[1] /2.6)
- b4_qosition = (size[0] / 2, size[1] /1.9)
- while True:
- for event in pygame.event.get():
- if event.type == QUIT:
- sys.exit()
- if event.type == KEYDOWN:
- if event.key == K_z:
- if button.c == 2:
- WFa = True
- if WFa == True and event.key == K_z:
- WFa = False
- if button.c == 3:
- sys.exit()
- button.draw(screen, (255, 0, 0))
- if WFa == True:
- screen.blit(WF, size[0]/2, size[1]/2)
- pygame.display.flip()
- clock.tick(200)
复制代码
在按键事件处理中,你先检测是否按下了'Z'键,让`WFa`变为`True`,但紧接着又将其设为`False`。这会导致图像根本来不及显示。正确的逻辑应该是当按下'X'键时才将`WFa`变为`False`。
while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
if event.type == KEYDOWN:
if event.key == K_z:
if button.c == 2:
WFa = True
if WFa == True and event.key == K_z:
WFa = False
if button.c == 3:
sys.exit()
|
最佳答案
查看完整内容
在按键事件处理中,你先检测是否按下了'Z'键,让`WFa`变为`True`,但紧接着又将其设为`False`。这会导致图像根本来不及显示。正确的逻辑应该是当按下'X'键时才将`WFa`变为`False`。
while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
if event.type == KEYDOWN:
if event.key == K_z:
if button.c == 2:
...
|