gpt4 book ai didi

python - 用 pygame 放大某个区域?

转载 作者:行者123 更新时间:2023-12-02 20:23:38 25 4
gpt4 key购买 nike

我昨天做了一个放大功能,作为我将要开发的游戏的测试。看起来不错,但我更愿意只放大透过玻璃看到的区域。

有人知道如何使用 python/pygame 放大动态半径吗?我是否必须对图像进行平铺设置或使用某种密集层位 block 传输对其进行暴力破解?我不确定这是否值得在这里问。

这里有一个视频演示来展示我正在谈论的内容 - https://youtu.be/_pVyb0bns3k

最佳答案

我认为这里没有任何捷径。我建议像平常一样绘制未缩放的屏幕,在缩放区域中将其传输为一个圆圈,然后在顶部的放大镜中进行传输。您显然已经知道如何执行第一个和最后一个位,所以让我们看看缩放区域中的位 block 传输。

为了做到这一点,我会

  • 将图像中要放大的部分作为正方形,并将其复制到新的 Surface 上。 (请记住,这将小于结果区域。)
  • 使用 pygame.transform.smoothscale 将其扩展至足以覆盖整个放大镜区域
  • 使用 mask 将其从正方形变成圆形。请参阅Pygame - is there any way to only blit or update in a mask了解详情。
  • Blit 结果。

不必太担心性能。每帧只需执行一次此操作。

关于python - 用 pygame 放大某个区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50630647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com