python--pygame02
1.代码重构
#第一步: ##游戏设置及游戏屏幕
import pygame import game_functions as gf from ship import Ship from setting import Settings def run_game(): pygame.init() ai_settings=Settings('white') screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") ship = Ship(screen) while True: gf.check_events() gf.update_screen(ai_settings,screen,ship) run_game()
第二步:设置屏幕的长,高及背景颜色
setting.py
class Settings(): def __init__(self,bg_color): #__init__是类的方法。每创建新实例时会自动调用 screen_width = input("please input what you like the screen width,default 800") self.screen_width = int(screen_width) screen_height = input("please input what you like the screen height,default 1200") self.screen_height = int(screen_height) self.bg_color = bg_color
第三步:绘制飞船及飞船的位置
ship.py
import pygame class Ship(): def __init__(self,screen): self.screen=screen self.image=pygame.image.load('ship.bmp') self.rect=self.image.get_rect() self.screen_rect=screen.get_rect() #定位飞船位置在底部中央 self.rect.centerx=self.screen_rect.centerx self.rect.bottom=self.screen_rect.bottom #绘制飞船 def blitime(self): self.screen.blit(self.image,self.rect) ##梳理:1.飞船的位置 2.绘制飞船 #1.飞船的位置:1.1上传飞船的位图。调用pygame模块中的image.load函数将飞船赋值给image变量:可以查看image.pyi文件 #1.2将image变量的值中的get_rect函数绘制矩形:可以查看surface.pyi文件
第四步:设置屏幕的功能
game_function.py
import sys
import pygame
from setting import Settings
from ship import Ship
def check_events():
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
def update_screen(ai_settings,screen,ship):
screen.fill(ai_settings.bg_color)
ship.blitime()
pygame.display.flip()
至此:游戏屏幕及飞船创建好了。