python3的pygame的小遊戲的代碼分析和列表新用法等基礎分析

1.小遊戲


python3的pygame的小遊戲的代碼分析和列表新用法等基礎分析

2.一個小遊戲,逐個對代碼解析,其中有python的基礎操作,也有列表高級操作,一般人不知道。下面會提到。

3.代碼解析

3.1 第1步:

<code>#---第1步---導出模塊---
import pygame
import sys
from pygame.locals import*/<code>

3.2 第2步:

<code>#---第2步---遊戲初始化---
pygame.init()/<code>

3.3 第3步:顏色初始定義,一般用元組,也可以設置列表法

<code>#---第3步---定義顏色---
#---元組法或集合法---
WHITE = (255,255,255)
BLACK = (0,0,0)
#GREEN = (0,255,0)
GREEN=[0,255,0] #注意列表法也行
RED = (255,0,0)
BLUE =(0,0,255)/<code>

3.4 第4步:

<code>#---第4步---標題設置、大小和位置等設置---
pygame.display.set_caption("3個圓圈")
#---★列表賦值法★---
size = width,height = 1200,800
#---RESIZABLE---窗口大小可調節,我很喜歡這點,建議採用---

screen = pygame.display.set_mode(size,RESIZABLE)
#注意/是取餘數,//才是除法
position = size[0]//2,size[1]//2

#定義初始flag
moving = False
# 創建時鐘對象 (可以控制遊戲循環頻率)
clock = pygame.time.Clock()/<code>

這裡有個重點★:列表新法---高級操作


python3的pygame的小遊戲的代碼分析和列表新用法等基礎分析

看到沒有:a=b,c=35,125,這時候a是一個元組tuple或者叫集合set。

一旦a[0]時,就是自動將元組或集合轉換為列表:a=[35,125],然後取值a[0]就是35,a[1]就是125。

注意:python中,取餘數是/,除法//,8÷2=8//2=4,8/2=0,9/4=1 。

3.5 第5步:

<code>#---第5步---遊戲循環---
while True:
#---這一步在pygame中必不可少---退出設置---
for event in pygame.event.get():
if event.type == QUIT:
exit()

#鼠標移動判斷---點擊down就是移動;鬆開up就是不動
if event.type == MOUSEBUTTONDOWN:
#if event.button == 1: #等同於==1==True
if event.button==True:
moving = True
if event.type == MOUSEBUTTONUP:
if event.button == 1:
moving = False

#得到鼠標位置,圓形移動
if moving:
# 獲得拖動鼠標的拖動位置
position = pygame.mouse.get_pos()

#屏幕的背景顏色填充---黑色
screen.fill(BLACK)

# 畫圓形是掛在screen上,顏色設置

# position為圓心 ,20,70,120是半徑,1,5,10是圓圈線條粗細
pygame.draw.circle(screen, GREEN, position, 20, 1)
pygame.draw.circle(screen, RED, position, 70,5)
pygame.draw.circle(screen, BLUE, position, 120, 10)

#更新圖片
pygame.display.flip()

#設置幀率
clock.tick(120)/<code>

4.效果圖


python3的pygame的小遊戲的代碼分析和列表新用法等基礎分析

5.完整代碼:

自己按順序複製到一起即可。


分享到:


相關文章: