1. 程式人生 > >Python中pygame常用方法

Python中pygame常用方法

import pygame

# 初始化pygame庫
pygame.init()


# ----------視窗相關操作-----------
# 建立視窗
window = pygame.display.set_mode([視窗寬, 視窗高])

# 設定視窗標題
pygame.display.set_caption("視窗標題")

# 載入資源圖片,返回圖片物件
image = pygame.image.load("res/game.ico")

# 設定視窗圖示
pygame.display.set_icon(image)

# 指定座標,將圖片繪製到視窗
window.blit(image, (0, 0))


# ----------影象相關操作-----------
# 載入圖片檔案,返回圖片物件
image = pygame.image.load("圖片路徑")

# 獲得圖片矩形物件 -> Rect(x, y, width, height)
# 預設情況下左上角的座標是 (0, 0)
rect = image.get_rect(centerx=x, centery=y)

# 在原位置基礎上,移動指定的偏移量 (x, y 增加)
rect.move_ip(num1, num2)

# 判斷兩個矩形是否相交,相交返回True,否則返回False
flag = pygame.Rect.colliderect(rect1, rect2)

# 將圖片物件按指定寬高縮放,返回新的圖片物件
trans_image = pygame.transform.scale(image, (WINDOWWIDTH, WINDOWHEIGHT))


# ----------事件相關操作-----------
# 常見事件型別:
# QUIT 關閉視窗
# KEYDOWN 鍵盤按鍵
# 獲得當前所有持續按鍵 bools_tuple

# 獲得所有事件的列表
event_list = pygame.event.get()

for event in event_list:
    # 1. 滑鼠點選關閉視窗事件
    if event.type == pygame.QUIT:
        print("關閉了視窗")
        sys.exit()
    # 2. 鍵盤按下事件
    if event.type == pygame.KEYDOWN:
        # 判斷使用者按下的鍵是否是a鍵
        if event.key == pygame.K_a:
            print("按了 a ")
        if event.key == pygame.K_UP:
            print("按了 方向鍵上")

# 3. 獲得當前鍵盤所有按鍵的狀態(按下,沒有按下),返回bool元組
pressed_keys = pygame.key.get_pressed()

if pressed_keys[pygame.K_w] or pressed_keys[pygame.K_UP]:
    print("按了 w 鍵,或者 方向鍵上")


# ----------音效相關操作-----------
# 載入背景音樂
pygame.mixer.music.load("./res/音樂檔名")
# 迴圈播放背景音樂
pygame.mixer.music.play(-1)
# 停止背景音樂
pygame.mixer.music.stop()

# 載入音效
boom_sound = pygame.mixer.Sound("./res/音效名")
# 播放音效
boom_sound.play()
# 停止音效
boom_sound.stop()

三基色:Red Green Blue


0 ~ 255


# -------- 文字顯示操作

font = pygame.font.SysFont('SimHei', 字型大小)
# render(text(文字內容), antialias(抗鋸齒), color(RGB)),返回文字物件
textobj = font.render(text, 1, (200, 200, 200))

# 設定文字矩形物件位置
textrect = textobj.get_rect()
textrect.move_ip(水平偏移量, 豎直偏移量)
# 在指定位置繪製指定文字物件
window.blit(textobj, textrect)
# 更新介面
pygame.display.update()