入门到实践12"/>
python从入门到实践12
12-1 蓝色天空:创建一个背景为蓝色的Pygame窗口
import sys
import pygamedef run_game():# 初始化游戏,并创建一个屏幕对象pygame.init()screen = pygame.display.set_mode((1200, 600))pygame.display.set_caption("this is a test!")#背景颜色bg_color = (0, 0, 255)# 开始游戏主循环while True:# 监听鼠标和事件for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()# 每次循环重绘屏幕screen.fill(bg_color)# 让最近绘制的屏幕可见pygame.display.flip()run_game()
注:在写监听的时候,判断语句漏写了.type导致程序无法退出。要注意是event.type == pygame.QUIT
12-2 游戏角色:找一副你喜欢的游戏角色位图图像或将一副图像转换为位图。创建一个类,将该角色绘制到屏幕中央,并将该图像的背景色设置为屏幕背景色。
import sys
import pygame
from classjianji import Jianjidef run_game():# 初始化游戏,并创建一个屏幕对象pygame.init()#设置窗口大小screen = pygame.display.set_mode((1200, 600))#设置窗口标题pygame.display.set_caption("this is a test!")#背景颜色:天蓝色bg_color = (87, 250, 255)# 创建游戏角色jianji = Jianji(screen)# 开始游戏主循环while True:# 监听鼠标和事件for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()# 每次循环重绘屏幕screen.fill(bg_color)#将游戏人物绘画出来jianji.blitme()# 让最近绘制的屏幕可见pygame.display.flip()run_game()
# Jianji.py
import pygameclass Jianji():def __init__(self, screen):"""初始化游戏人物并设置其位置"""self.screen = screen# 加载图像并获取其外接矩形self.image = pygame.image.load('untitled.bmp')self.rect = self.image.get_rect()self.screen_rect = self.screen.get_rect()# 将每个游戏人物放在屏幕中央self.rect.centerx = self.screen_rect.centerxself.rect.centery = self.screen_rect.centerydef blitme(self):"""在指定位置绘制游戏人物"""self.screen.blit(self.image, self.rect)
这里要理解surface对象,图像数据都将转化为surface对象。blit的参数有两个,一个是图片即self.image是一个surface对象,另一个是要画的位置即self.rect
.get_rect()获得一个对象的rect,以便于设置其坐标位置
更多推荐
python从入门到实践12
发布评论