PyGame 从位图设置鼠标光标
在这篇文章中,我们将看到如何使用PyGame模块在Python中从位图上设置鼠标指针。
什么是PyGame
- 它是一套跨平台的Python模块,用于编写视频游戏。
- 它包括计算机图形和声音库,旨在与Python编程语言一起使用。
- 它可以处理时间、视频、音乐、字体、不同的图像格式、光标、鼠标、键盘、操纵杆等。
什么是Bitmap
- 位图是一个二进制数据阵列,代表图像中像素的值。
- GIF是图形图像文件的一个例子,它有一个位图。
PyGame中的鼠标相关函数
它用于游戏中,程序需要对光标的位置保持更新。
pygame.mouse.get_pressed()
返回代表所有鼠标按钮状态的布尔运算序列。一个真值意味着在调用的时候鼠标正在被按下。
语法: pygame.mouse.get_pressed(num_buttons=3) -> (button1, button2, button3)。
参数:
- num_buttons :鼠标中的按钮数量(默认值=3)。
pygame.display.set_mode()
这个函数用于创建一个显示面。传入的参数是对显示类型的请求。实际创建的显示器将是系统所支持的最佳匹配。
语法: pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
参数:
- 分辨率:一对数字,代表窗口的宽度和高度。
- 标志:改变窗口类型的附加选项。
- 深度:用于颜色的比特数量。
pygame.mouse.get_pos()
这是用来获取鼠标光标的X和Y坐标的。这些坐标是相对于显示器的左上角而言的。光标的位置是相对于
语法: pygame.mouse.get_pos()
返回:鼠标的坐标被存储。
pygame.quit()
这是用来关闭游戏的。
语法: pygame.quit()
clock.tick()
通过每帧调用clock.tick(60)一次,程序的运行速度将永远不会超过每秒60帧。
语法:clock.tick(framerate=0)。
参数 :
- Framerate : 它将计算自上一次调用以来已经过去多少毫秒。
示例1: 创建main.py文件,在鼠标路径上创建一个圆圈
在这个例子中,我们要在光标在窗口内移动的地方在屏幕上画一个圆,要实现这个目标,我们必须遵循以下步骤。
- 我们将制作一张尺寸为960*600的画布。
- 编写代码,使我们的圈子。
- 在画布内保持鼠标光标的轨迹。
- 在光标移动的地方绘制圆圈。
输出:
示例2: 创建main.py文件以定位光标的方向
在这个例子中,我们要在窗口中央画一个箭头,这个箭头指向光标,无论光标在画布窗口内如何移动,我们都要按照以下步骤来实现。
- 我们将制作一块尺寸为640*480的画布。
- 现在写一段代码,画一个箭头,指向鼠标的指针。
- 现在做一个程序,把箭头向光标方向旋转。
输出:
示例3: 改变鼠标的光标形状
在这个例子中,我们要改变光标的形状,只要我们点击鼠标,如果光标在屏幕窗口内,就可以实现这一点,我们必须遵循以下步骤。
- 首先,我们将制作一个600*400的画布。
- 白一个代码来跟踪鼠标的光标。
- 现在我们要写一段代码,在鼠标被点击时改变游标的形状。
输出: