博客
关于我
Pygame
阅读量:803 次
发布时间:2023-03-04

本文共 1483 字,大约阅读时间需要 4 分钟。

pygame基础入门

pygame是Python的一个强大库,用于创建2D游戏和图形界面。它能够与图形卡进行交互,并支持多种输入设备,比如鼠标和键盘。以下是pygame的基础使用方法。

一、初始化pygame

import pygamepygame.init()

初始化pygame是为后续操作做准备的重要步骤。它会内部加载所有需要的驱动程序和模块,为使用硬件做好准备。

二、创建显示屏

screen = pygame.display.set_mode((640, 480), 0, 32)

set_mode接收三个参数:

  • (width, height):屏幕的宽度和高度
  • fullscreen:布尔值,设置为True时会进入全屏模式
  • depth:颜色深度

调用set_mode后,会返回一个Surface对象,表示游戏窗口。

三、设置窗口标题

pygame.display.set_caption("Hello, World!")

set_caption方法用于设置窗口标题,可以为游戏添加一个友好的名字。

四、加载并显示背景图像

background = pygame.image.load("背景图片文件名").convert_alpha()screen.blit(background, (0, 0))

加载图像并使用blit方法将其绘制到屏幕上。convert_alpha用于保留图像的透明度信息。

五、处理鼠标事件

x, y = pygame.mouse.get_pos()

get_pos方法用于获取鼠标的当前位置,返回一个元组(x, y)。

六、刷新屏幕

pygame.display.update()

update方法用于将屏幕上的数据刷新到显示器上,确保画面更新。

七、处理事件

event = pygame.event.wait()if event.type == pygame.QUIT:    pygame.quit()    quit()

event.wait()方法会等待事件发生,并返回事件对象。检查事件类型为QUIT时,退出游戏程序。

八、处理键盘事件

for event in pygame.event.get():    if event.type == pygame.KEYDOWN:        print("按下了键盘按键", event.key)    if event.type == pygame.KEYUP:        print("松开了键盘按键", event.key)

使用event.get()获取所有事件,然后根据事件类型处理键盘按下和按开的动作。KEYDOWN事件返回键盘按下的键码,KEYUP事件同样返回按开的键码。

九、过滤事件

pygame.event.set_blocked(event_type)

set_blocked方法可以阻止特定类型的事件被处理。如:

pygame.event.set_blocked(pygame.MOUSEMOTION)

十、创建自定义事件

my_event = pygame.event.Event(KEYDOWN, key=K_SPACE, mod=0, unicode=' ')

通过Event类创建自定义事件,可以设置事件类型、键码等属性。

十一、刷新屏幕

pygame.display.flip()

flip方法用于交替显示两张屏幕像素数据,通常用于双缓冲机制中的刷新。

以上是pygame的基础操作,通过这些方法可以实现基本的图形绘制和事件处理。

转载地址:http://ayafk.baihongyu.com/

你可能感兴趣的文章
Python pip 国内镜像大全及使用办法
查看>>
Python输入输出练习,运算练习,turtle初步练习
查看>>
Python pip工具使用
查看>>
Python pip配置国内源
查看>>
Python Plotly 将轴数格式化为 %
查看>>
Redis 键值过期操作
查看>>
python predictabel_基于R语言PredictABEL包对Logistic回归模型外部验证
查看>>
Python psycopg2 超时
查看>>
Python Pyinstaller Matplotlibrary
查看>>
Python Pypi 修改 国内源(以豆瓣源为例)
查看>>
Python PyQt5 将不再显示此消息复选框添加到 QMessageBox
查看>>
Python PyQt5:如何使用 PyQt5 显示错误消息
查看>>
Python PYSFTP-以字符串/文本形式传递私钥,而不是传递文件路径
查看>>
Python pytest 面试题!
查看>>
Python pytz 时区函数返回一个相差 9 分钟的时区
查看>>
python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
查看>>
Python random和json模块
查看>>
Python random模块seed理解
查看>>
python range()函数
查看>>
Python rdflib可传递查询
查看>>