1.小游戏
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>
这里有个重点★:列表新法---高级操作
看到没有: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.完整代码:
自己按顺序复制到一起即可。
閱讀更多 易三一世 的文章