Python遊戲編程之創建精靈(三)

本教程是《Python遊戲編程》系列的第3節,如果您還沒有學習第2節,請看這裡:

我們上節課學習了什麼是面向對象,以及如何去使用面向對象的知識來定義汽車類。今天,我們將學習使用所創建的汽車類,來創造我們的汽車對象,開始吧!

你的第一個對象

現在,我們已經有了一個Car類,我們終於可以創建這個類的對象了(記住類像是模具,它可以讓你創建多個對象,就像是一個餅乾模具可以生產出很多餅乾一樣)。

讓我們回到第1節課程的代碼文件中,來添加對象的功能。

首先,我們在使用這個類之前,需要先導入他,因此你需要在代碼頂部添加import語句來導入我們的汽車類。

<code>from car import Car/<code>

然後,我們需要使用下面的代碼來創建第一輛F1賽車:

<code>playerCar = Car(RED, 20, 30)/<code>

我們來設置你的愛車的默認位置,也就是座標吧,當然後面也可以來更改x、y來移動你的愛車:

<code>playerCar.rect.x = 200
playerCar.rect.y = 300/<code>

好的,為了使公路更熱鬧一些,我們還需要創建更多的車輛:

<code>player1Car = Car(RED, 20, 30)
player1Car.rect.x = 200
player1Car.rect.y = 300

player2Car = Car(PURPLE, 20, 30)
player2Car.rect.x = 400
player2Car.rect.y = 400/<code>

下面是完整的代碼:

<code>import pygame, random, sys
from car import Car

pygame.init()

GREEN = (20, 255, 140)
GREY = (210, 210 ,210)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
PURPLE = (255, 0, 255)

SCREENWIDTH=400
SCREENHEIGHT=500

size = (SCREENWIDTH, SCREENHEIGHT)
screen = pygame.display.set_mode(size)
pygame.display.set_caption("F1賽車")

all_sprites_list = pygame.sprite.Group()

playerCar = Car(RED, 20, 30)
playerCar.rect.x = 190
playerCar.rect.y = 400

all_sprites_list.add(playerCar)

clock = pygame.time.Clock()

while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()

all_sprites_list.update()

screen.fill(GREEN)
pygame.draw.rect(screen, GREY, [40,0, 320,500])
pygame.draw.line(screen, WHITE, [198,0],[198,500],5)
all_sprites_list.draw(screen)
pygame.display.flip()
clock.tick(60)/<code>

如下是代碼的運行效果:

Python遊戲編程之創建精靈(三)

代碼運行效果

好了,今天的內容就到這裡,我們創建了第一個賽車對象,並和第1節課程的內容結合起來了,我們讓這個酷酷的賽車已經在賽道上蓄勢待發了!


如果你喜歡我的文章,歡迎您關注我的頭條號: ,也歡迎觀看我的《跟我學Python,創意編程之旅》的系列原創編程視頻,每天都有精彩視頻等你喔!


分享到:


相關文章: