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()

至此:游戏屏幕及飞船创建好了。

 

 

posted @ 2021-02-03 17:00  小仙女学Linux  阅读(66)  评论(0编辑  收藏  举报