@websec007
2020-06-09T23:13:40.000000Z
字数 1203
阅读 1018
Python从入门到实践
1.1 创建Alien类(alien.py)
1.2 创建外星人实例(alien_invasion.py)
1.3 主屏幕上绘制外星人
# 创建Alien类
#(1) 创建alien rect对象;
#(2) 绘制外星人在主屏幕;
import pygame
from pygame.sprite import Sprite
class Alien(Sprite):
def __init__(self, screen):
"""(1) 创建alien rect对象;"""
super().__init__()
self.screen = screen
# 加载外星人图像,获取外星人矩形对象
self.image = pygame.image.load(r'E:\Game_Study\images\alien.bmp')
self.rect = self.image.get_rect()
# 初始化外星人位置
self.rect.x = self.rect.width
self.rect.y = self.rect.height
def blitme(self):
"""(2) 绘制外星人在主屏幕;"""
self.screen.blit(self.image, self.rect)
....
# 2. screen surface
...
# 创建飞船
ship = Ship(screen, game_settings)
# 创建子弹编组容器
bullets = Group()
# 创建外星人实例
alien = Alien(screen)
.
.
.
# 3. Game loop
while True:
. # (1) process Input
.....
# (2) Update Game
# 重构游戏“更新”与“画面绘制”
gf.update_screen(screen, bg_color, ship, bullets, alien)
# (3) render
pygame.display.update()
...
def update_screen(screen, bg_color, ship, bullets, alien):
# Update Game
screen.fill(bg_color)
# 飞船移动更新
ship.update()
# 绘制飞船
ship.blitme()
# 重构后的调用:
#(1)飞船的更新
#(2)飞船的绘制
update_bullets(bullets)
# 绘制外星人
alien.blitme()