欢迎光临散文网 会员登陆 & 注册

中文编程pygame游戏教程6_使用图像

2023-08-24 16:44 作者:52中文编程  | 我要投稿

加载图像

pyagme.图像模块提供了加载和保存的方法 图像。读取() 方法从文件系统加载图像,并返回一个 表层(Surface)对象。转换格式()方法优化了图像格式,使绘图速度更快:

我的图片bird.png在程序所在的同一文件夹的data文件下.

读取()方法从图像返回 区块(Rect) 对象。 此时仅设置大小并将位置放置在(0, 0)。 我们将 图像区块的中心设置为屏幕的中心:

概括地说,我们正在处理 3 个对象:

屏幕是表示应用程序窗口的 表层(Surface) 对象
图像 是要显示的图像的表层对象
图像区块 是 区块(Rect)对象,它是图像的边框

为了显示图像,我们用背景色(灰色)填充屏幕。 然后我们把图像"贴"到屏幕上,并在它周围画一个红色矩形,最后更新屏幕:

用鼠标移动图像

在程序开始时,我们将移动中变量设置为 False。 仅当按下鼠标按钮并且鼠标位置在图像内(碰撞点检测)时,我们将其设置为 True,释放鼠标按钮后,我们再次将其设置为 False,当鼠标移动并且标志为 True 时,我们移动图像按鼠标位置相对移动.


下面是完整代码:

旋转和缩放图像

pygame.变形模块提供了缩放、旋转和翻转图像的方法。当我们要修改图像时,我们保留原始图像在名为 图像0 的变量中:

为了显示图像矩形,我们在原始图像中添加了一个绿色边框:

首先,我们定义全局变量尺度和角度:


我们使用 R 键将旋转增加 10 度,然后 (如果按下 SHIFT 键,则递减)。该功能允许组合 旋转和缩放。我们总是转换原始图像(图像0)。重复旋转或缩放, 图像会降低其质量:


我们使用 S 键将比例增加 10%(如果使用 SHIFT 键,则减小 被按下):

转换图像时,边框的大小会发生变化。必须重新计算并再次放置在中心:


将图像重置为原始图像

我们使用 O 键将图像重置为其原始状态:


翻转图像

我们使用 H 键水平翻转图像:


和 V 键垂直翻转图像:


使用l键 用查找边缘.()方法检测图像的轮廓:


放大2倍使像素的大小加倍:


完整的代码如下:


用鼠标转换图像

在本节中,我们将展示如何使用鼠标缩放和旋转图像。

我们先存储初始鼠标位置:

当鼠标移动时,我们更新鼠标位置并计算 x、y 坐标 从图像中心。 我们还计算鼠标与屏幕中心的距离


数学函数允许找到旋转角度。我们需要 以度为单位转换弧度。从距离鼠标中心,我们计算出 比例参数:atan2(y, x)


为了最终绘制转换后的图像,我们首先填充整个屏幕背景(灰色), 将转换后的图像点亮,用红色矩形包围它。

为了在转换图像时为鼠标动作提供视觉反馈,我们在图像中心和鼠标位置之间画一条绿线,在中心和鼠标位置放置两个圆圈.


这是完整的代码。


中文编程pygame游戏教程6_使用图像的评论 (共 条)

分享到微博请遵守国家法律