|
本帖最后由 pyist 于 2017-10-16 21:33 编辑
我竟然写了两个while。。疯了。。
我写了个背景循环,可是实现出来看起来是正常的,但是,关闭窗口的时候,会显示 程序未响应。运行中,鼠标在程序窗口会变成圆圈,感觉上也是系统资源占用过大。
是不是我的实现思路有问题?我用两张同样的图片和一张两倍窗口长度的图片都试验过,显示效果都是一样的。请教正常的背景图滚动应该是怎么样的实现方法。
以下是我写的程序(刚开始看《python编程从入门到实践》)
import pygame,sys
pygame.init()
screen=pygame.display.set_mode((800,1200),0,32)
y=0
m_p=pygame.image.load("bg_picture3.gif").convert()
while True:
y-=1
screen.blit(m_p, (0, y))
if y<-1200:
y=0
# pygame.display.update()
pygame.display.flip()
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()这是我打算用一张图片实现的程序,思路就是两倍的窗口高度,当顶点纵坐标达到窗口高度的时候(我在这个程序里设置的是1200,图片高度做的是2400)顶点纵坐标回到 0 。
请问正确的实现思路是怎样的?
|
|