gpt4 book ai didi

python - 如何解决绘制多个曲面时 pygame 中的滞后问题

转载 作者:行者123 更新时间:2023-12-01 07:15:46 25 4
gpt4 key购买 nike

我在游戏中想要的是围绕玩家的一个圆圈,其中所有内容都可见,但在该圆圈之外很难看到东西。基本上是一个手电筒光环,外面的一切都是黑暗的,很难看到。我花了一段时间才使它正常工作,但现在我确实游戏以 20FPS 的速度运行,并且在正常情况下以 60FPS 运行良好时明显滞后。关于如何保持相同的想法但使游戏运行得更好有什么想法吗?

class Flashlight:
def __init__(self):
self.flashlight_surf = pygame.Surface((SCREEN_W, SCREEN_H))
self.flashlight_surf2 = pygame.Surface((SCREEN_W, SCREEN_H))

self.flashlight_surf2.set_colorkey((1,1,1))
self.flashlight_surf2.set_alpha(200)
self.flashlight_radius = 200

def flashlight_update(self):
self.flashlight_surf2.fill(black)

pygame.draw.circle(self.flashlight_surf2, (1,1,1), (round(player.x) +
32, round(player.y) + 32), self.flashlight_radius)

display.blit(self.flashlight_surf2, (0,0))
self.flashlight_surf2.blit(self.flashlight_surf, (0,0))

最佳答案

尝试改变

self.flashlight_surf2 = pygame.Surface((SCREEN_W, SCREEN_H))

self.flashlight_surf2 = pygame.Surface((SCREEN_W, SCREEN_H)).convert()

转换表面可以将位 block 传送速度提高6倍as stated here

如果convert()不起作用使用 convert_alpha()

关于python - 如何解决绘制多个曲面时 pygame 中的滞后问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57979458/

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