1個(gè)0直接起飛?從零開始用Python制作飛機(jī)大戰(zhàn)第2集【角色移動(dòng)】

'''編完之后回頭看有看不懂代碼的意義?來看看我的加注釋版吧,標(biāo)記了各個(gè)代碼的意義'''
# !/user/bin/env python3
# -*- coding: utf-8 -*-
import pygame # 導(dǎo)入
# 定義常量
WIDTH = 500 # 界面的寬
HEIGHT = 600 # 界面的高
WHITE = (255, 255, 255) # 白色變量
GREEN = (0, 255, 0) # 綠色變量
# 游戲初始化
pygame.init() # 初始化函數(shù)
screen = pygame.display.set_mode((WIDTH, HEIGHT)) # 設(shè)置界面寬高
pygame.display.set_caption('飛機(jī)大戰(zhàn)') # 設(shè)置標(biāo)題
clock = pygame.time.Clock() # 創(chuàng)建時(shí)鐘對(duì)象
class Player(pygame.sprite.Sprite): # 創(chuàng)建玩家類
def __init__(self): # 初始化函數(shù)
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((50, 40)) # 控制坐標(biāo)
self.image.fill(GREEN) # 填充顏色
self.rect = self.image.get_rect() # 設(shè)置范圍
self.rect.center = (WIDTH/2, HEIGHT/2) # 設(shè)置中心
def update(self):
self.rect.x += 3
if self.rect.left > WIDTH: # 檢測(cè)是否超過左邊緣
self.rect.x = 0 # 條件達(dá)成則回到右邊緣
all_sprites = pygame.sprite.Group() # 創(chuàng)建角色表
player = Player() # 創(chuàng)建玩家類對(duì)象
all_sprites.add(player) # 將創(chuàng)建的玩家類對(duì)象放入角色表
running = True # 定義工具變量用于控制循環(huán)
while running:
clock.tick(60) # 設(shè)置幀數(shù)
for event in pygame.event.get(): # 獲取事件
if event.type == pygame.QUIT: # 判斷是否為事件
running = False # 如果是,則將變量設(shè)為False,停止循環(huán)
all_sprites.update() # 更新游戲
screen.fill(WHITE) # 設(shè)置界面顏色,顯示畫面
all_sprites.draw(screen) # 繪制角色
pygame.display.update() # 更新狀態(tài)
pygame.quit() # 退出