Skip to content

[Pygame] 繪製矩形的 Rect 簡單介紹

Rect 元件在 Pygame 中是一個舉足輕重的元件,本來想要等到有足夠的時間後再開一篇非常詳盡的來寫,但奈何像按鈕、輸入框等等元件都會需要使用到 Rect 元件,於是就還是先寫下了這篇。

本篇的介紹非常單純,並不會提到 Rect 元件更深入的重疊、移動等方法,只是簡單地紀錄如何設定 Rect 元件的屬性,並將其繪製在視窗上。

以下直接來看程式碼吧!


繪製矩形的程式碼

# coding: utf-8
import pygame


def main():
    # Settings
    width = 800
    height = 600
    color_bg = (0, 0, 0)
    running = True

    # Init
    pygame.init()
    screen = pygame.display.set_mode((width, height))
    pygame.display.set_caption("Rect Demo")

    # Rect(left, top, width, height)
    rect_1 = pygame.Rect(0, 0, 100, 100)
    rect_2 = pygame.Rect(0, 0, 300, 100)
    rect_2.center = (width/2, height/2)

    # Run
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False

        # Screen
        screen.fill(color_bg)

        # Draw
        pygame.draw.rect(screen, (100, 100, 100), rect_1)
        pygame.draw.rect(screen, (255, 0, 255), rect_2)

        # Updates
        pygame.display.update()


if __name__ == "__main__":
    main()


Output:

這段程式碼其實非常短,重點其實全在 # Rect(left, top, width, height) 這一段落底下。

我們只需要使用 pygame.Rect() 就能順利建立矩形元件,輸入的四個參數分別為左側起點、上方起點、寬度、高度。

另外我們也可以使用 Rect.center 來指定中心點的位置。

剩下的就是使用 pygame.draw.rect() 來將這些矩形物件繪製了。除了需要決定繪製的畫布(這裡就是指視窗 screen)外,也要順便決定矩形的顏色。


References


Read More

Leave a Reply