功能1:實現遊戲整體介面顯示
一、建立基本的結構
程式碼如下:
import time
import pygame
def main():
# 初始化pygame
pygame.init()
# 建立用來顯示畫面的物件(理解為相框)
screen = pygame.display.set_mode((750, 667))
# 主迴圈
while True:
time.sleep(0.1)
# 顯示screen這個相框的內容(此時在這個相框中的內容像照片、文字等會顯示出來)
pygame.display.update()
if __name__ == '__main__':
main()
執行效果:
二、顯示背景
1. 新增圖片
點選如下地址下載素材
https://www.itprojects.cn/58.html
2. 顯示一張圖片
程式碼如下
import time
import pygame
def main():
# 初始化pygame
pygame.init()
# 建立用來顯示畫面的物件(理解為相框)
screen = pygame.display.set_mode((750, 667))
# 遊戲背景圖片
background_img = pygame.image.load("images/bg.jpg")
# 主迴圈
while True:
# 顯示遊戲背景
screen.blit(background_img, (0, 0))
time.sleep(0.1)
# 顯示screen這個相框的內容(此時在這個相框中的內容像照片、文字等會顯示出來)
pygame.display.update()
if __name__ == '__main__':
main()
執行效果
3. 通過多張圖片實現整體背景
import time
import pygame
def main():
# 初始化pygame
pygame.init()
# 建立用來顯示畫面的物件(理解為相框)
screen = pygame.display.set_mode((750, 667))
# 遊戲背景圖片
background_img = pygame.image.load("images/bg.jpg")
# 主迴圈
while True:
# 顯示遊戲背景
screen.blit(background_img, (0, 0))
screen.blit(background_img, (0, 270))
screen.blit(background_img, (0, 540))
time.sleep(0.1)
# 顯示screen這個相框的內容(此時在這個相框中的內容像照片、文字等會顯示出來)
pygame.display.update()
if __name__ == '__main__':
main()
三、滑鼠關閉視窗
import sys
import time
import pygame
def main():
# 初始化pygame
pygame.init()
# 建立用來顯示畫面的物件(理解為相框)
screen = pygame.display.set_mode((750, 667))
# 遊戲背景圖片
background_img = pygame.image.load("images/bg.jpg")
# 主迴圈
while True:
# 事件檢測(例如點選了鍵盤、滑鼠等)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit() # 退出程式
# 顯示遊戲背景
screen.blit(background_img, (0, 0))
screen.blit(background_img, (0, 270))
screen.blit(background_img, (0, 540))
time.sleep(0.1)
# 顯示screen這個相框的內容(此時在這個相框中的內容像照片、文字等會顯示出來)
pygame.display.update()
if __name__ == '__main__':
main()
執行效果
四、顯示棋盤
程式碼
import sys
import time
import pygame
def main():
# 初始化pygame
pygame.init()
# 建立用來顯示畫面的物件(理解為相框)
screen = pygame.display.set_mode((750, 667))
# 遊戲背景圖片
background_img = pygame.image.load("images/bg.jpg")
# 遊戲棋盤
chessboard_img = pygame.image.load("images/bg.png")
# 主迴圈
while True:
# 事件檢測(例如點選了鍵盤、滑鼠等)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit() # 退出程式
# 顯示遊戲背景
screen.blit(background_img, (0, 0))
screen.blit(background_img, (0, 270))
screen.blit(background_img, (0, 540))
# 顯示棋盤
screen.blit(chessboard_img, (50, 50))
time.sleep(0.1)
# 顯示screen這個相框的內容(此時在這個相框中的內容像照片、文字等會顯示出來)
pygame.display.update()
if __name__ == '__main__':
main()
執行效果
五、顯示棋子
程式碼
import sys
import time
import pygame
def main():
# 初始化pygame
pygame.init()
# 建立用來顯示畫面的物件(理解為相框)
screen = pygame.display.set_mode((750, 667))
# 遊戲背景圖片
background_img = pygame.image.load("images/bg.jpg")
# 遊戲棋盤
chessboard_img = pygame.image.load("images/bg.png")
# 棋子
chessboard_map = [
["b_c", "b_m", "b_x", "b_s", "b_j", "b_s", "b_x", "b_m", "b_c"],
["", "", "", "", "", "", "", "", ""],
["", "b_p", "", "", "", "", "", "b_p", ""],
["b_z", "", "b_z", "", "b_z", "", "b_z", "", "b_z"],
["", "", "", "", "", "", "", "", ""],
["", "", "", "", "", "", "", "", ""],
["r_z", "", "r_z", "", "r_z", "", "r_z", "", "r_z"],
["", "r_p", "", "", "", "", "", "r_p", ""],
["", "", "", "", "", "", "", "", ""],
["r_c", "r_m", "r_x", "r_s", "r_j", "r_s", "r_x", "r_m", "r_c"],
]
for row, line in enumerate(chessboard_map):
for col, chess_name in enumerate(line):
if chess_name:
# 將建立的棋子新增到屬性map中
chessboard_map[row][col] = [pygame.image.load("images/" + chess_name + ".png"), (50 + col * 57, 50 + row * 57)]
else:
chessboard_map[row][col] = None
# 主迴圈
while True:
# 事件檢測(例如點選了鍵盤、滑鼠等)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit() # 退出程式
# 顯示遊戲背景
screen.blit(background_img, (0, 0))
screen.blit(background_img, (0, 270))
screen.blit(background_img, (0, 540))
# 顯示棋盤
screen.blit(chessboard_img, (50, 50))
# 顯示棋盤上的所有棋子
for line_chess in chessboard_map:
for chess in line_chess:
if chess:
screen.blit(chess[0], chess[1])
time.sleep(0.1)
# 顯示screen這個相框的內容(此時在這個相框中的內容像照片、文字等會顯示出來)
pygame.display.update()
if __name__ == '__main__':
main()
執行效果
更多步驟
更多步驟請訪問 https://book.itprojects.cn/01-b29fd8caf9b9ad57558c3a7c84c3de97/index.html