《Python游戲編程入門》第33頁的挑戰(zhàn)

本文目錄:

一:繪制橢圓

二:用隨機的值繪制1000個線條

三:繪制一個繞著屏幕移動的矩形,任何時候,當該矩形碰到屏幕邊界時,矩形都將會改變顏色

繪圖流程:

1),將Pygame庫導入到python程序中,以便可以使用它

2),導入Pygame中的所有常量,以準備好可以在我們的代碼中訪問它們

3),初始化pygame,這樣我們就可以訪問這個庫的所有資源了。

4),獲取對顯示系統(tǒng)的訪問,并且創(chuàng)建一個窗口,我們稱之為“屏幕”,它是我們繪畫的平臺。

screen=pygame.display.set_mode((600,500))

5)顯示窗口的標題:

pygame.display.set_caption("")

6),創(chuàng)建一個事件處理程序:循環(huán)

7),繪制圖像:清除屏幕screen fill()

8),調用相應函數(shù)進行繪制

9),刷新顯示:pygame.display.update()


一,畫橢圓:

使用pygame.draw.ellipse(Surface, color, Rect, width=0)繪制橢圓;其中參數(shù)Rect是橢圓的外切矩形的坐標,其長寬是橢圓的軸長。橢圓線寬參數(shù)width=0,或省略時,繪制的橢圓是被設定的顏色填充。

完整代碼:

import ?pygame

import ?sys

from pygame.locals import *

pygame.init()

screen=pygame.display.set_mode((600,500))

pygame.display.set_caption('Drawing Ellipse')

x=300

y=250

while True:

for event in pygame.event.get():

if event.type==QUIT:

sys.exit()

screen.fill((0,0,200))

#draw a ellipse

color=255,0,255

width=1

position=250,150,300,200

pygame.draw.ellipse(screen,color,position,width)

pygame.display.update()


二:用隨機的值繪制1000個線條:

Python中的random模塊用于生成隨機數(shù).

random.randint(a, b)函數(shù),用于生成一個指定范圍內的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機數(shù)n: a <= n <= b

pygame.display模塊包括處理Pygame顯示方式的函數(shù),其中包括普通窗口和全屏模式。比如有這些函數(shù):

flip:更新顯示。一般來說,當修改當前屏幕的時候需要經過兩個步驟。首先,需要對get_surface函數(shù)返回的Surface對象進行所有需要的修改。然后調用pygame.display.flip更新顯示以反映你的修改。

update:在只想更新屏幕一部分的時候使用update函數(shù),而不是flip函數(shù)。它可以從RenderUpdates類的draw方法中返回的矩形列表一起使用。

完整代碼:

import pygame

import sys

import random#導入隨機函數(shù)

pygame.init()

screencaption=pygame.display.set_caption('Draw 1000 lines')

screen=pygame.display.set_mode([640,480])

screen.fill([255,255,255])#用白色填充屏幕

for i in range(1000):#for循環(huán),循環(huán)1000次。每循環(huán)一次,畫一條線

drawcolor = (random.randint(0,255), random.randint(0,255), random.randint(0,255))#隨機顏色

top = random.randint(0,500)

left = random.randint(0,500)

width = random.randint(0,2)#隨機線寬

pygame.draw.line(screen, drawcolor, (top, left),(left,top),width)#隨機線的起始坐標和結束坐標

pygame.display.flip()#更新顯示以反映你的修改

while True:

for event in pygame.event.get():

if ?event.type == pygame.QUIT:

sys.exit()


三:繪制一個繞著屏幕移動的矩形,任何時候,當該矩形碰到屏幕邊界時,矩形都將會改變顏色

完整代碼:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容