pygame之 定义屏幕和载入图像:
例子:
import sys
import pygame
class Fly: #载入飞机图像,并确定图像的位置
def __init__(self, screen): #给FLy类定义一个属性screen,用于把实例的图像参数传递过来,screen将会接收实例fly的screen参数
self.screen = screen
self.image = pygame.image.load(r‘images\ship.png‘) #定义一个属性image,用于保存载入的图像
self.rect = self.image.get_rect() #此处是将上面的图像,定义成一个矩形进行处理,并保存到rect变量中
self.screen_rect = screen.get_rect() #将屏幕也定义成一个矩形,方便处理,保存到screen_rect变量中
self.rect.centerx = self.screen_rect.centerx #把图像矩形的中心,和屏幕矩形的中心,对齐(centerx是图像矩形的一个参数))
self.rect.bottom = self.screen_rect.bottom #把图像矩形的底部,和屏幕矩形的底部,对齐
def position(self): #定义一个方法,用于传递图像及其位置
self.screen.blit(self.image, self.rect) # blit()函数用于获取图像信息,保存两个参数(图像文件地址,图像的位置)
class Settings: #定义一个类,用于对屏幕的宽、高及背景颜色进行设置
def __init__(self):
self.screen_width = 800
self.screen_height = 400
self.bg_color = (230, 230, 230)
def run_play():
settings = Settings() #实例化Settings类
pygame.init() #初始化pygame
pygame.display.set_caption("XXX") #定义屏幕窗口的标题内容
screen = pygame.display.set_mode( #定义屏幕窗口的宽和高,通过Settings类中的属性获得
(settings.screen_width, settings.screen_height) #pygame.display.set_mode内的参数,必须是一个列表,所以必须加括号()
)
fly = Fly(screen) #实例化Fly类,并传递上面的屏幕窗口screen的内容
while True: #定义一个while循环,用于不停刷新屏幕内容
for x in pygame.event.get(): #定义一个for循环,用于检测鼠标及键盘的动作
if x.type == pygame.QUIT: #当检测到用户退出动作时,调用sys.exit()关闭程序
sys.exit()
screen.fill(settings.bg_color) #按定义的屏幕背景颜色,不停刷新屏幕窗口
fly.position() #载入Fly类的position方法,用于显示图像信息(图片及位置)
#注意:背景颜色语句,要写到图像信息语句前面,否则会把图像信息覆盖,显示不出图像
pygame.display.flip() #flip()函数,用于显示最近一次的屏幕画面
run_play()
wssking Python 笔记 :15 pygame的使用--定义屏幕、载入图像
原文:https://www.cnblogs.com/wssking/p/11573714.html