py编程从入门到实践 课后练习

12-1 蓝色天空
import sys
import pygame

def run_game():
	"""初始化游戏,绘制屏幕,设定背景色"""
	pygame.init() 
	screen = pygame.display.set_mode((500,300))
	bg_color = (135,206,250)
	
	# 防止游戏窗口秒退
	while True:
		for event in pygame.event.get():
			if event.type == pygame.QUIT: # 处理退出事件
				sys.exit()
			screen.fill(bg_color) # 用背景色填充屏幕
		pygame.display.flip() # 每次循环都重绘屏幕
		
run_game()

重点

1、while True 添加一个循环和一个响应事件,防止游戏窗口闪退。
2、pygame.display.flip 每次循环完毕都重绘屏幕

12-2 游戏角色
run.py
import sys
import pygame
from pika import Pika

def run_game():
	"""初始化游戏,绘制屏幕,设定背景色"""
	pygame.init() 
	screen = pygame.display.set_mode((500,300))
	bg_color = (135,206,250)
	pika = Pika(screen)
	
	# 防止游戏窗口秒退
	while True:
		for event in pygame.event.get():
			if event.type == pygame.QUIT: # 处理退出事件
				sys.exit()
			screen.fill(bg_color) # 用背景色填充屏幕
		pygame.display.flip() # 每次循环都重绘屏幕
		pika.blitme()
run_game()
pika.py
import pygame

class Pika():
	def __init__(self,screen): 
		self.screen = screen
		
		self.image = pygame.image.load("images/pika.bmp")
		self.rect = self.image.get_rect()
		self.screen_rect = screen.get_rect() 
		
		self.rect.centerx = self.screen_rect.centerx
		self.rect.centery = self.screen_rect.centery
		
	def blitme(self):
		self.screen.blit(self.image, self.rect) 
输出结果

在这里插入图片描述

未解决问题

如何将该图像的背景色设置为屏幕背景色,或将屏幕背景色设置为该图像的背景色?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值