python游戏库pygame经典教程

这篇具有很好参考价值的文章主要介绍了python游戏库pygame经典教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.Pygame程序基本搭建过程

        1.初始化化程序

        2.创建Surface对象

        3.事件监听

        4.游戏循环 

二.Pygame Display显示模块详解

        1.将Surface对象粘贴至主窗口上

        2.设置窗口主窗口

        3.填充主窗口背景,参数值RGB

        4.设置窗口标题

        5.更新屏幕内容

        6.pygame.display其他方法

三.Pygame Surface创建图像

        1.Surface模块创建图像

        2.Surface从外部加载图像

四.Pygame Transform图像变形 

五.Pygame Time时间控制

        1.游戏暂停

        2.设置游戏的帧数率(FPS)

六.Pygame Rect区域位置

七.Pygame Event事件模块 

        1.事件类型

        2.事件处理方法

        3.处理键盘事件

        4.处理鼠标事件

 八.Pygame Dra绘图函数

        1.绘制矩形

        2.绘制多边形

        3.绘制圆形

        4.绘制椭圆形

        5.绘制圆弧曲线

        6.绘制直线

九.字体绘制

十.音频播放


一.Pygame程序基本搭建过程

Pygame搭建游戏窗口主要为如下几步

1.初始化化程序

在使用Pygame编程之前,我们要对程序进行初始化,代码如下

pygame.init()

该代码是整个程序的第一句代码,它的作用是自动检测Pygame软件包是否正常,并完成包括display(显卡模块),font(字体模块),mixer(声音模块),cursors(光标控制模块)等的模块的初始化


2.创建Surface对象

Surface是Pygame编程的窗口界面,类似画布,图像和文本可以显示在Surface上,创建方式主要有以下方式

(1)创建Surface对象:

#也可以叫做screen对象,本质上是一个Surface对象
screen = pygame.display.set_mode(400,400)

(2)创建一个带文本的Surface对象:

#创建一个包含文字的Surface对象
text = f.render("小马哥不马虎",True,(255,255,255),(0,0,0))
#通过blit方法将其绘制出来,textRect表示位置坐标
screen.blit(text,textRect)

(3)创建一个包含图像的Surface对象:

surface_image = pygame.image.load("图片路径")

3.事件监听

一个好的游戏少不了游戏与人的交互,通过事件,人按自己的想法对游戏进行交互

如下是一个关闭游戏的简单交互:

#所有get()获取事件
for event in pygame.event.get():
    #判断事件类型
    if event.type == pygame.QUIT:
        pygame.quit()

4.游戏循环 

代码:

while True:
    for event in pymage.event.get():
        if event.type == pygame.QUIT:
            pymage.quit()
            sys.exit()
    #更新并绘制屏幕内容
    pygame.display.flip()

二.Pygame Display显示模块详解

Pygame使用pygame.display显示模块中的方法创建游戏的主窗口:

格式:

screen = pygame.display.set_mode(size=(),flags=0)

·size:用来设置窗口的大小

·flags:功能标志位,表示创建的主窗口样式,flags参数如下:

flags参数
标志位 功能
pygame.FULLSCREEN 创建一个全屏窗口
pygame.HWSURFACE 创建一个硬件加速窗口,必须和FULLSCREEN同时使用
pygame.OPENGL 创建一个OPENGL渲染窗口
pygame.RESIZABLE 创建一个可以改变大小的窗口
pygame.DOUBLEBUF 创建一个双缓冲窗口,建议在HWSURFACE或OPENGL时使用
pygame.NOFRAME 创建一个没有边框的窗口

1.将Surface对象粘贴至主窗口上

代码:

scrren.blit(source,dest,area=None,special_flage=0)

·source:表示要粘贴的Surface对象

·dest:主窗口一个标识的坐标位置

·area:接受一个Rect对象,默认为None,如果提供该参数则相当于抠图操作,即在屏幕的指定位置显示想要的内容

·special_flags:可选参数,用于指定对应位置颜色的混合方式


2.设置窗口主窗口

screen = pygame.display.set_mode(400,400)

3.填充主窗口背景,参数值RGB

screen.fill((156,156,156))

4.设置窗口标题

pygame.display.set.caption('小马哥不马虎')

5.更新屏幕内容

pygame.display.flip()

6.pygame.display其他方法

方法名称 说明
pygame.display.get_surface() 获取当前显示的Surface对象
pygame.display.flip() 更新整个待显示的Surface对象到屏幕上
pygame.display.update() 更新部分软件界面显示
pygame.display.lnfo() 产生一个VideInfo对象,包含了显示界面的相关信息
pygame.display.set_icon() 设置左上角的游戏图标,图标尺寸大小为32*32
pygame.display.iconify() 将显示的主窗口即Surface对象最小化,或者隐藏
pygame.display.get_active() 当前显示界面显示在屏幕上时返回True,如果窗口被隐藏和最小化时则返回False

三.Pygame Surface创建图像

1.Surface模块创建图像

语法格式:

Surface=pygame.Surface(size=(width,height),flags,depth)

·size:表示Surface对象的矩形区域大小

·flage:功能标志位,有两个可选参数值HWSURFACE和SPCALPHA,前者代表将创建的Surface对象存放于显存中,后者表示让图像的每一个像素包含一个alpha通道

·depth:指定像素的颜色深度,默认为自适应模式,由Pygame自动调节

代码实例:文章来源地址https://www.toymoban.com/news/detail-777666.html

import pygame
import sys

pygame.init()
#设置主窗口
screen = pygame.display.set_mode((400,400))
screen.fill('blue')
#设置窗口标题
pygame.display.set_caption('小马哥不马虎')
#创建一个图像
face = pygame.Surface((60,60),flags=pygame.HWSURFACE)
#填充图像
face.fill(color='pink')
while True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()
    #将图像添加到主屏幕上
    screen.blit(face,(100,100))
    #更新屏幕内容
    pygame.display.flip()

效果:

pygame教程,python游戏,python,pygame,游戏


2.Surface从外部加载图像

语法格式:

pygame.image.load('图片路径').convert()

代码实例:

import pygame
import sys

pygame.init()
#设置主窗口
screen = pygame.display.set_mode((400,400))
screen.fill('white')
#设置窗口标题
pygame.display.set_caption('小马哥不马虎')
#加载图片
image_surface = pygame.image.load('C:/Users/myun/Pictures/不知火舞.jpg')
image_surface.fill((0,0,255),rect=(100,100,100,50),special_flags=0)
image_surface.scroll(100,60)  #移动图片
while True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            pygame.quit()
            sys.exit()
    #将图像添加到主屏幕上
    screen.blit(image_surface,(0,0))
    #更新屏幕内容
    pygame.display.flip()

效果图:

pygame教程,python游戏,python,pygame,游戏

Surface模块处理图像方法:

方法 说明
pygame.Surface.blit() 将一个图像绘制到另一个图像上
pygame.Surface.convert() 修改图像的格式
pygame.Surface.fill() 使用纯色填充Surface图像
pygame.Surface.scroll() 复制并移动Surface对象
pygame.Surface.set_alpha() 设置整个图像的透明度
pygame.Surface.get_at() 获取一个像素的颜色值
pygame.Surface.set_at() 设置一个像素的颜色值
pygame.Surface.get_palette() 获取Surface对象8位索引的调色板
pygame.Surface.map_rgb() 将一个RGBA颜色转换为映射的颜色值
pygame.Surface.set_clip() 设置该Surface对象的剪切区域
pygame.Surface.subsurface() 根据父对象创建一个新的子Surface对象
pygame.Surface.get_offset() 获取子Surface对象在父对象中的偏移量
pygame.Surface.get_size() 获取Surface对象的大小

四.Pygame Transform图像变形 

Transform方法
方法 说明
pygame.transform.scale() 将图片缩放至指定的大小,并返回一个新的Surface对象
pygame.transform.rotate() 将图片旋转至指定角度
pygame.transform.rotozoom() 以角度旋转图像,同时将图像缩小或放大至指定的倍数

五.Pygame Time时间控制

1.游戏暂停

Pygame.time模块提供以下常用方法

方法 说明
pygam.time.get_ticks() 以毫秒为单位获取时间
pygame.time.wait() 使程序暂停一段时间
pygame.time.set_time() 创建一个定时器,即每隔一段时间就去执行一些动作
pygame.time.Clock() 创建一个时间对象来帮助我们确定游戏要以多大的帧数运行

代码实例:

import pygame
pygame.init()
screen =pygame.display.set_mode((500,400))
pygame.display.set_caption('时间设置')
#获取时间
t=pygame.time.get_ticks()
#暂停游戏3000毫秒
t1=pygame.time.wait(3000)
print(t1)
image_surface=pygame.image.load('C:/Users/myun/Pictures/不知火舞.jpg')
while True:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            exit()
        screen.blit(image_surface,(0,0))
        pygame.display.update()

效果:三秒后加载图片


2.设置游戏的帧数率(FPS)

Clock()方法可以实现对游戏帧数的设置

方法 说明
pygame.time.Clock.tick() 更新clock对象
pygame.time.Clock.get_time() 获取上一个tick中的时间
pygame.time.Clock.get_fps() 计算clock对象的帧数

代码实例:

import pygame
pygame.init()
screen =pygame.display.set_mode((500,400))
pygame.display.set_caption('时间设置')
#获取时间
t=pygame.time.get_ticks()
#暂停游戏3000毫秒
t1=pygame.time.wait(3000)
print(t1)
image_surface=pygame.image.load('C:/Users/myun/Pictures/不知火舞.jpg')
#创建时间对象
clock = pygame.time.Clock()
while True:
    #通过时间对象指定循环帧数,每秒循环60次
    clock.tick(60)
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            exit()
        screen.blit(image_surface,(0,0))
        pygame.display.update()

注:游戏帧数中在动态图时才显现出来


六.Pygame Rect区域位置

Rect()方法创建一个指定位置,指定大小的矩形区域

语法格式:

Rect=pygame.Rect(left,top,width,height)

代码实例: 

import pygame
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption('小马哥不马虎')
image_surface = pygame.image.load("C:/Users/myun/Pictures/bg.jpg")
rect1 = pygame.Rect(50,50,100,100)
# 在原图的基础上创建一个新的子图(surface对象)
image_child= image_surface.subsurface(rect1)
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    #在屏幕上显示子图的区域
    screen.blit(image_child,rect1)
    pygame.display.update()

效果:在图片上截取了一个和Rect1同样大小的矩形区域

pygame教程,python游戏,python,pygame,游戏

Rect对其他常用方法:

方法 说明
pygame.Rect.copy() 复制矩形
pygame.Rect.move() 移动矩形区域,接受一个列表参数
pygame.Rect.move_ip() 移动矩形(无返回)
pygame.Rect.inflate() 增大或缩小矩形
pygame.Rect.clamp() 将矩形移动到另一个矩形内
pygame.Rect.union() 返回两个矩形合并后的矩形
pygame.Rect.fit() 按横纵比调整矩形或移动矩形
pygame.Rect.contains() 测试一个矩形是否在另个矩阵内
pygame.Rect.collidepoint() 测试点是否在矩形中
pygame.Rect.colliderect() 测试两个矩形是否重叠

七.Pygame Event事件模块 

1.事件类型

通过事件类型,可以有序的,逐一的处理用户的操作

事件
事件类型 描述 成员属性
        QOUIT 用户按下窗口的关闭按钮 none
ATIVEEVENT Pygame被激活或者隐藏

gain,state

 KEYDOWN 键盘按下 unicode,key,mod
KEYUP 键盘释放 key,mod
MOUSEMOTION 鼠标移动 pos,rel,button
MOUSEBUTTONDOWN 鼠标按下 pos,button
MOUSEBUTTONUP 鼠标放开 pos,button
JOYAXISMOTION 游戏手柄(Joystick or pad)移动 joy,axis,value
JOYBALLMOTION 游戏球(Joy  ball)移动 joy,axis,value
JOYHATMOTION 游戏手柄(Joystick)移动 joy,axis,value
JOYBUTTONDOWN 游戏手柄按下 joy,button
JOYBUTTONUP 游戏手柄放开 joy,button
VIDEORESIZE pygame窗口缩放 size,w,h
VIDEOEXPOSE Pygame窗口部分公开 none
USEREVENT 触发一个用户事件 事件代码

2.事件处理方法

Pygam.event模块提供了处理事件的常用方法,如下:

方法 说明
pygame.event.get() 从事件队列获取一个事件,并在事件队列中删除该事件
pygame.event.wait() 阻塞直至事件发生才会继续执行,若没有事件发生将一直处于阻塞状态
pygame.event.set_blocked() 控制哪些事件禁止进入队列,如果参数值为None,则表示禁止所有事件进入
pygame.event.pump() 调用该方法后,Pygame会自动处理事件队列
pygame.event.poll() 会根据实际情况返回一个真实的事件,或者一个None
pygame.event.peek() 检测某类事件是否在队列中
pygame.event.clear() 从队列中清除所有的事件
pygame.event.get_blocked() 检测某一类型的事件是否被禁止进入队列
pygame.event.post() 放置一个新的事件在队列中
pygame.event.Event() 创建一个用户自定义的事件
pygame.event.set_allowed() 控制哪些事件允许进入队列

3.处理键盘事件

键盘事件通过一个key属性,通过该属性可以获取键盘的按键,如下是键盘按键的常量:

常量名 描述
K_BACKSPACE

退格键(Backspace)

K_TAB 制表键(Tab)
K_CLEAR 清除键(Clear)
K_RETURN 回车键(Enter)
K_PAUSE 暂停键(Pause)
K_ESCAPE 退出键(Escape)
K_SPACE

空格键(Space)

K_0~K_9 0~9
K_a~k_z a~z
K_DELETE

删除键(delete)

K_KP0~K_KP9

小键盘的0~9

K_F1~K_F15 F1~F15
K_UP 向上箭头
K_DOWN 向下箭头
K_RIGHT 向右箭头
K_LEFT 向左箭头
KMOD_ALT 同时按下Alt键

4.处理鼠标事件

事件 说明
MOUSEMOTION 鼠标按下
MOUSEBUTTONDOWN 鼠标释放
MOUDEBUTTONUP 鼠标释放
import pygame
from random import randint
# 初始化程序
pygame.init()
screen = pygame.display.set_mode((450,400))
# 更新显示
pygame.display.flip()
while True:
    #等待事件发生
    event = pygame.event.wait()
    if event.type == pygame.QUIT:
        exit("成功退出")
    if event.type == pygame.MOUSEBUTTONDOWN:
        # pos 获取鼠标当前位置
        print('鼠标按下',event.pos)
        mx,my = event.pos
        # 调用 pygame.draw 模块画圆
        pygame.draw.circle(screen,(255,255,0),(mx,my),50)
        # 处理完,更新显示
        pygame.display.update()
    if event.type == pygame.MOUSEBUTTONUP:
        print('鼠标弹起')
        pass
    if event.type == pygame.MOUSEMOTION:
        print('鼠标移动')
        mx, my = event.pos
        # 随机生成 RGB 颜色值
        r = randint(0,255)
        g = randint(0,255)
        b = randint(0,255)
        pygame.draw.circle(screen, (r,g,b,),(mx, my), 50)
        # 处理完,更新显示
        pygame.display.update()

 八.Pygame Dra绘图函数

1.绘制矩形

语法格式:

pygame.draw.rect(surface,color,rect,width)

·surface:指主窗口

·color:该参数用于图形着色

·rect:绘制图形的位置和大小

·width:可选参数,指定边框的宽度,默认为0,表示填充该矩形区域

注:当width>0时,表示线框的宽度,而width<0时,此时不会绘制任何图形


2.绘制多边形

语法格式:

pygame.draw.polygon(surface,color,points,width)

其余参数与上面相同,points表示组成多边形的多个(x,y)坐标


3.绘制圆形

语法格式:

pygame.circle(surface,color,pos,radius,width=0)

·pos:该参数用来指定圆心的位置

·radius:用来指定圆的半径


4.绘制椭圆形

语法格式:

pygame.draw.ellipse(surface,Rect,width=0)

5.绘制圆弧曲线

语法格式:

pygame.draw.arc(Surface,color,Rect,start_angle,stop_angle,width=1)

·start_angle:该段该段圆弧的起始角度

·stop_angle:终止角度


6.绘制直线

语法格式:

一条直线:

pygame.draw.line(surface,color,start_pos,end_pos,width=1)

·start_posend_pos:表示线段的起始位置和结束位置(x,y)

·width=1:表示直线的宽度,默认为1

一条消除锯齿的平滑线:

pygame.aaline(surface,color,start_pos,end_pos,blend=1)

多条直线:

pygame.line(surface,color,closed,pointlist,width=1)

·pointlist:参数列表,包含了一些列点坐标的列表

·closed:布尔参数,如果设置为True,表示直线的第一个端点和直线的最后一个端点要首尾相连

多条抗锯齿直线:

pygame.draw.aalines(surface,color,closed,pointlist,blend=1)

绘图方法总汇:

pygame.draw模块绘图方法
方法 说明
pygame.draw.rect() 绘制矩阵
pygame.draw.polygon() 绘制多边形
pygame.draw.circle() 根据圆心和半径绘制圆形
pygame.draw.ellipse() 绘制一个椭圆形
pygame.draw.arc() 绘制弧线
pygame.draw.line() 绘制线段
pygame.draw.ines() 绘制多条连续的线段
pygame.draw.aaline() 绘制一条平滑的线段(抗锯齿)
pygame.draw.aalines() 绘制多条连续的线段

代码实例:

import pygame
from math import pi
#初始化
pygame.init()
# 设置主屏幕大小
size = (500, 450)
screen = pygame.display.set_mode(size)
# 设置一个控制主循环的变量
done = False
#创建时钟对象
clock = pygame.time.Clock()
while not done:
    # 设置游戏的fps
    clock.tick(10)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True  # 若检测到关闭窗口,则将done置为True
    # 绘制一条宽度为 3 的红色对角线
    pygame.draw.line(screen, (0, 255, 0), [0, 0], (500, 450), 3)
    # 绘制多条蓝色的直线(连续直线,非抗锯齿),False 表示首尾不相连
    pygame.draw.lines(screen, (0, 0, 255), False, [[0, 80], [50, 90], [200, 80], [220, 30]], 1)
    # 绘制一个灰色的矩形区域,以灰色填充区域
    pygame.draw.rect(screen, (155, 155, 155), (75, 10, 50, 20), 0)
    # 绘制一个线框宽度为2的矩形区域
    pygame.draw.rect(screen, (0, 0, 0), [150, 10, 50, 20],2)
    # 绘制一个椭圆形,其线宽为2
    pygame.draw.ellipse(screen, (255, 0, 0), (225, 10, 50, 20), 2)
    # 绘制一个实心的红色椭圆形
    pygame.draw.ellipse(screen, (255, 0, 0), (300, 10, 50, 20))
    # 绘制一个绿色边框(宽度为2)三角形
    pygame.draw.polygon(screen, (100, 200, 45), [[100, 100], [0, 200], [200, 200]], 2)
    # 绘制一个蓝色实心的圆形,其中[60,250]表示圆心的位置,40为半径,width默认为0
    pygame.draw.circle(screen, (0, 0, 255), [60, 250], 40)
    # 绘制一个圆弧,其中0表示弧线的开始位置,pi/2表示弧线的结束位置,2表示线宽
    pygame.draw.arc(screen, (255, 10, 0), (210, 75, 150, 125), 0, pi / 2, 2)
    # 刷新显示屏幕
    pygame.display.flip()
# 点击关闭,退出pygame程序
pygame.quit()

效果图:

pygame教程,python游戏,python,pygame,游戏


九.字体绘制

font模块可以绘制字体

·pygame.font.Font(filename,size):获取字体

·pygame.font.Font.render(text,antialias,color,background=None):显示字体

·get_rect():获取坐标对象

实例:

import pygame,sys
from pygame.locals import *
 
pygame.init()
 
surface = pygame.display.set_mode((500, 400), 0, 32)
pygame.display.set_caption("文字绘制")
surface.fill((255, 255, 255))
 
# 获取字体对象,可以获取系统自带的,也可以自定义字体
fonts = pygame.font.get_fonts()
fonts = 'fonts/ARBERKLEY.ttf'
basicFont = pygame.font.SysFont(fonts, 50)
 
# surface对象
text = basicFont.render('这是一串字符', True, (255,255,255), (0,255,0))
 
# 设置文本位置
textRect = text.get_rect()
 
textRectObj.center = (250, 200)
 
# 将渲染的surface对象更新到屏幕上
surface.blit(text,textRect)
 
# 程序主循环
while True:
 
  # 获取事件
  for event in pygame.event.get():
    # 判断事件是否为退出事件
    if event.type == QUIT:
      # 退出pygame
      pygame.quit()
      # 退出系统
      sys.exit()
 
  # 绘制屏幕内容
  pygame.display.update()

十.音频播放

mixer音频模块

·pygame.mixer.Sound(filename):播放特效音

·pygame.mixer.music.load(filename):加载背景音乐

代码实例:

import pygame, sys
from pygame.locals import *

# 初始化pygame
pygame.init()

# 设置窗口的大小,单位为像素
screen = pygame.display.set_mode((500, 400))

# 设置窗口的标题
pygame.display.set_caption('音频播放')

# 设置背景
screen.fill((255, 255, 255))

# 加载并播放一个特效音频文件
sound = pygame.mixer.Sound('C:/Users/myun/Music/狙击枪.wav')
sound.play()

# 加载背景音乐文件
pygame.mixer.music.load('C:/Users/myun/Music/Oh The Larceny - Light That Fire.mp3')

# 播放背景音乐,第一个参数为播放的次数(-1表示无限循环),第二个参数是设置播放的起点(单位为秒)
pygame.mixer.music.play(-1, 0.0)

# 程序主循环
while True:
    # 获取事件
    for event in pygame.event.get():
        # 判断事件是否为退出事件
        if event.type == QUIT:
            # 停止播放背景音乐
            pygame.mixer.music.stop()
            # 退出pygame
            pygame.quit()
            # 退出系统
            sys.exit()

    # 绘制屏幕内容
    pygame.display.update()

到了这里,关于python游戏库pygame经典教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Python编写游戏辅助脚本——Pygame详细教程

    Python是一种简单且强大的编程语言,在游戏开发中,它可以用来创建游戏辅助脚本。Pygame是Python编程语言的一个库,它提供了一组用于开发游戏的功能和工具。本教程将介绍如何使用Pygame库来编写一个简单的游戏辅助脚本。 在开始编写游戏辅助脚本之前,我们需要先安装Py

    2024年02月04日
    浏览(45)
  • 如何在pycharm中安装pygame游戏插件 和Python中安装pygame教程

    在用pycharm软件开发python小游戏前,需要安装pygame的插件,如何安装呢? 方法一、包管理器安装 1、在pycharm软件中定位到  file  – settings 2、定位到: project (自己的项目中)–python interpreter,选择右边的 pip 3、双击 pip ,进入查询插件界面,输入  pygame  ,进行查询这个插件

    2024年02月02日
    浏览(44)
  • Python Pygame 游戏开发基础教程与项目实践(总目录)

    原文链接:https://xiets.blog.csdn.net/article/details/131368147 版权声明:原创文章禁止转载 Pygame 是一个免费的开源的跨平台库(支持 Windows、MacOS、Linux),用于使用 Python 开发视频游戏等多媒体应用程序。 Pygame 基础教程01: Python (Pygame) 游戏开发模块简介与安装 Pygame 基础教程02: 显示

    2024年02月14日
    浏览(44)
  • pygame超详细教程!!做python小游戏必看框架!

    # 导入需要的模块 # 定义一个游戏管理总类 # 定义一个check_event 方法用于阻塞事件,并在检测到\\\"QUIT\\\"事件时关闭窗口 # run 方法则是游戏的主循环,不断调用 check_event 方法, 加上flip()  , 每次添加新功能,即可更新画布 # 调用gm实例 到这里,我们就能做出一个空白的黑窗体了,

    2024年02月07日
    浏览(46)
  • python游戏开发入门经典教程,python游戏开发引擎

    大家好,给大家分享一下python游戏开发入门经典教程,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 消消乐小游戏相信大家都玩过,大人小孩都喜欢玩的一款小游戏,那么基于程序是如何实现的呢?今天带大家,用python+pygame来实现一下这个花里胡哨的消

    2024年02月02日
    浏览(43)
  • 【pygame游戏开发】这几个经典游戏,勾起了少年的快乐

    嗨喽,大家好呀~这里是爱看美女的茜茜呐 今天给大家分享几个好玩有趣的小游戏, 既提升了学习的兴趣,又提升了学习效率,告别枯燥的学习。 python 3.8: 解释器 pycharm: 代码编辑器 一、飞机大战 1. 所需素材 字体 图片 音乐 2. 源码部分 模块导入 游戏界面 主函数 3. 效果展示

    2024年02月03日
    浏览(54)
  • 乐趣无限:10款基于Pygame的经典游戏合集

    游戏开发一直是许多程序员和游戏爱好者追求的梦想。而Pygame作为一款功能强大的游戏开发库,为我们提供了实现各种有趣游戏的工具和接口。在本文中,我将向大家介绍10款基于Pygame的经典游戏合集,从简单的猜数字到刺激的飞机大战,让我们一起探索这个无限乐趣的游戏

    2024年02月11日
    浏览(45)
  • 很合适新手入门使用的Python游戏开发包pygame实例教程-01[开发环境配置与第一个界面]

    我们假定你已经安装好了我们开发python程序的sublime text,如果不知道怎么安装的可以参照我前面的博文。这里只需要解决的是配置好Pygame的问题。本篇博文主要解决开发环境配置以及第一个游戏界面的显示问题。 文章原出处: https://blog.csdn.net/haigear/article/details/130173836 没有

    2024年01月25日
    浏览(92)
  • 【Pygame实战】怀旧经典—这款给娃的棋类游戏,你还记得叫什么吧?(一定要收藏)

    大家以前应该都听说过一个游戏:叫做 走四棋儿 这款游戏出来到现在时间挺长了,小时候的家乡农村条件有限,附近也没有正式的玩具店能买 到玩具,因此小朋友们聚在一起玩耍时,其玩具大多都是就地取材的。 直接在家里的水泥地上用烧完的炭火灰画出几条线,摆上几颗

    2024年02月05日
    浏览(126)
  • Pygame 教程(5):监测游戏时间

    本章,你将学习如何监测游戏时间。 上一章:图像传输和绘制文本 下一章:努力更新中…… 在游戏程序中,时常需要随着时间的流逝而做出不同的动作。例如:倒计时、动画、限制帧率……这就需要对游戏时间进行监测。 Pygame 使用 pygame.time 模块监测时间, 以毫秒( 1 10

    2024年02月10日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包