1.小遊戲
![python3的pygame的小遊戲的代碼分析和列表新用法等基礎分析](http://p2.ttnews.xyz/loading.gif)
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的小遊戲的代碼分析和列表新用法等基礎分析](http://p2.ttnews.xyz/loading.gif)
看到沒有: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.效果圖
5.完整代碼:
自己按順序複製到一起即可。
閱讀更多 易三一世 的文章