【发布时间】:2013-03-22 23:43:39
【问题描述】:
import math, sys, os, pygame, random, time
pygame.init()
screen = pygame.display.set_mode((500,500))
pygame.display.set_caption('Tester.')
pygame.mouse.set_visible(0)
def smileMove():
smiley = pygame.image.load('smiley.png')
random.seed()
xMove = random.randrange(1,501)
yMove = random.randrange(1,501)
screen.blit(smiley,(xMove,yMove))
c = 0
while c <5:
smileMove()
time.sleep(3)
c = c + 1
pygame.quit()
我对编程非常陌生,我只是尝试使用 PyGame 进行一些基本的操作。 屏幕保持黑色,没有出现笑脸。我正在尝试让面孔出现在黑色背景上,并每 3 秒更改到另一个随机位置,5 次然后退出。
【问题讨论】:
-
你真的应该完成一个教程。几乎所有
pygame程序都应该有一个事件循环。并且您永远不应该在处理事件的过程中调用sleep。 (如果你睡 3 秒,你的程序将不会响应任何外部输入,所以你的计算机可能会放置一个死亡沙滩球,或者你的平台的等价物。) -
我会在某个时候,但我只是想尝试一些基本的东西。不过感谢您的提示。有什么方法可以让它在不调用睡眠的情况下暂停?
-
您想设置一个“计时器处理程序”,或者设置一个“空闲处理程序”来检查每次迭代的时间,直到开始后 3 秒。这在 600 个字符的评论中很难解释,但是教程会给你很多例子。真的,“试着把一些基本的东西写下来”的最好方法是完成教程的第一步,而不是随便写代码。
-
至少调用pump,这样系统才会知道程序运行正常。
标签: python image time pygame blit