Python繪畫pygame簡單語句註釋實例

import pygame, sys
from pygame.locals import *

# set up pygame
pygame.init()

windowSurface = pygame.display.set_mode((500, 400), 0, 32) #創建了一個窗口,set_mode會返回一個Surface對象,代表了在桌面上出現的那個窗口,三個參數第一個爲元祖,代表分 辨率(必須);第二個是一個標誌位,如果不用什麼特性,就指定0;第三個爲色深。當我們把第二個參數設置爲FULLSCREEN時,就能得到一個全屏窗口了
pygame.display.set_caption("sailor, moon") #設置窗口標題

BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)

basicFont = pygame.font.SysFont(None, 48)#字體設置API
text = basicFont.render("sailor moon", True, WHITE, BLACK)
textRect = text.get_rect()#在原位置的基礎上改變偏移量
textRect.centerx = windowSurface.get_rect().centerx # centerx 是指矩形中心的 X 座標(就是寬度一半的位置)
textRect.centery = windowSurface.get_rect().centery # centerx 是指矩形中心的 Y 座標(就是高度一半的位置)

windowSurface.fill(WHITE)
pygame.draw.polygon(windowSurface, GREEN, ((100, 100), (400, 100), (100, 400), (400, 400))) # 繪製任意邊數的圖形,此處設置短額頂點數爲4(需要注意連接順序是按照書寫的順序)
pygame.draw.line(windowSurface, BLUE, (60, 60), (200, 60), 8) # 繪製直線與粗細
pygame.draw.circle(windowSurface, BLUE, (250, 250), 40, 20) # 圓心座標,外圓直徑,外圓與內園距離
pygame.draw.ellipse(windowSurface, RED, (300, 250, 40, 80), 20)# 繪製橢圓ellipse(Surface, color, Rect, width=0) -> Rect在 Surface  對象上繪製一個橢圓形。Rect 參數指定橢圓外圍的限定矩形。width 參數指定邊框的寬度,如果設置爲 0 則表示填充該矩形。
pygame.draw.rect(windowSurface, RED, (textRect.left - 20, textRect.top - 20, textRect.width + 40, textRect.height + 40))

pixArray = pygame.PixelArray(windowSurface) # 用來獲取圖像每一個像素點,返回一個像素數組,每一個值都是一個元組可以更改每一個像素的顏色,如pixel_array = pygame.PixelArray(my_surface),pixel_array[200][300]=(255,0,255)
pixArray[480][380] = BLACK
del pixArray
windowSurface.blit(text, textRect)
pygame.display.update() # 刷新一下畫面,畫完以後一定記得用update更新一下,否則畫面一片漆黑。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章