#-*-coding:cp936-*-importsys,pygamefrompygame.localsimport*fromrandomimportrandrangeclassweight(pygame.sprite.Sprite):def__init__(self):pygame.sprite.Sprite.__init__(self...
# -*- coding: cp936 -*-
import sys,pygame
from pygame.locals import *
from random import randrange
class weight(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image=weight_image
self.rect=self.image.get_rect()
self.reset()
def reset(self):
"""
把秤砣移动到屏幕顶端的随机位置。
"""
self.rect.top = -self.rect.height
self.rect.centerx = randrange(screen_size[0])
def update(self):
"""
更新秤砣,显示下一帧
"""
self.rect.top += 1
if self.rect.top > screen_size[1]:
self.reset()
#初始化
pygame.init()
screen_size=800,600
pygame.display.set_mode(screen_size)
#pygame.mouse.set_visible(0)
#载入秤砣的图像
weight_image=pygame.image.load("weight.png")
weight_image=weight_image.convert()
#创建一个子图形组
sprites=pygame.sprite.RenderPlain()
sprites.add(weight())
#获取屏幕表面,并且填充
screen=pygame.display.get_surface()
bg=(255,255,255)
screen.fill(bg)
pygame.display.flip()
#用于清除子图形
def clear_callback(surf,rect):
surf.fill(bg,rect)
while True:
for event in pygame.event.get():
if event.type==QUIT:
sys.exit()
if event.type==KEYDOWN and event.key==K_ESCAPE:
sys.exit()
#清除前面位置
sprites.clear(screen,clear_callback)
#更新所有子图形
sprites.update()
#绘制所有子图形
updates=sprites.draw(screen)
#更新所需的显示部分
pygame.display.update(updates)
我运行这个怎么就是一个白屏幕呢?weight.png这个图片add不进去还是怎么回事?
展开