首页 > 编程语言 > 详细

wssking Python 笔记 :15 pygame的使用--定义屏幕、载入图像

时间:2019-09-23 19:23:24      阅读:103      评论:0      收藏:0      [点我收藏+]
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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!