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.完整代码:

自己按顺序复制到一起即可。


分享到:


相關文章: