【发布时间】:2021-01-09 06:44:19
【问题描述】:
大家好,我在 Pygame 中编写了一个小小的 Pong-Game,并想在 Ball 和 Bats 上使用发光效果。但是 Pygame 不支持这种效果,也不能用它来制作实体块。有没有办法用照明来处理?
提前致谢
【问题讨论】:
-
在 Photoshop 或其他软件中制作一个发光的球并将其加载到
标签: python pygame lighting pong
大家好,我在 Pygame 中编写了一个小小的 Pong-Game,并想在 Ball 和 Bats 上使用发光效果。但是 Pygame 不支持这种效果,也不能用它来制作实体块。有没有办法用照明来处理?
提前致谢
【问题讨论】:
标签: python pygame lighting pong
遗憾的是,pygame 本身不提供任何内置的光照/发光效果。然而,我发现了一个很好的效果,通过调整,它甚至可以通过发光。这个想法是你在你的球周围画了许多同心圆,每个圆都有一个递减的光值。这看起来像是在它周围投射一个小球体。示例:
>>> import pygame
>>> screen = pygame.display.set_mode((400, 300))
>>> pygame.display.set_caption("Glowy ball")
>>> screen.fill([0, 0, 0])
<rect(0, 0, 400, 300)>
>>> circs = [17, 17, 17, 17, 17, 16, 16, 16, 17, 17, 17, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1, 1]
>>> for i in range(len(circs)):
pygame.draw.circle(screen, [circs[i]*15]*3, (200, 150), i+1, 1)
结果:
由于这不是适当的照明,它会被绘制在墙壁或其他物体的顶部。解决这个问题的最简单方法是单独绘制照明,首先,其他所有内容都将绘制在它之上。如果您正在寻找更专业的质量,一些光线追踪可能会有很长的路要走。
【讨论】: