【发布时间】:2015-08-24 18:57:42
【问题描述】:
我正在开发一个简单的游戏。当我在一个循环中绘制一些东西时,它会在不到一秒钟的时间内绘制它。这是我的代码:
import pygame, sys
from pygame.locals import*
pygame.init()
FPS = 30
fpsClock = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((1000, 750))
BASICFONT = pygame.font.Font('freesansbold.ttf', 18)
pygame.display.set_caption('Game')
while True:
for event in pygame.event.get():
if event.type == pygame.MOUSEMOTION:
"do something"
else:
posx, posy = pygame.mouse.get_pos()
if event.type == pygame.MOUSEBUTTONUP:
if posx == 500 and posy == 500:
DISPLAYSURF.fill((40, 40, 40))
pygame.draw.rect(DISPLAYSURF, (40, 40, 40), (posx, posy, 50, 20))
pygame.display.update()
我做错了什么?
【问题讨论】:
-
只有当有有个事件没有
MOUSEMOTION时才更新显示 - 为什么?!请记住,缩进在 Python 中很重要... -
@jonrsharpe 这是我游戏中的地图,当事件为
MOUSEMOTION我想移动地图,当事件为MOUSEBUTTONUP我想开始一个关卡但要测试我'我使用了draw()函数 -
是的,但重点是无论发生什么你都想更新显示!
-
@svs 提示:从最后一行删除 16 个空格。
-
@muddyfish 这样吗? (见编辑)