我正在pygame
制作一个非常简单的2D游戏,我制作了几个带有类的文件,这些文件定义了一些粒子的特征以及地形的外观。问题是我不能让他们同时在同一个表面上显示。我试着摆弄它但是当我跑它时,地形最终显示没有颗粒。只有在我退出第一个窗口后,粒子才会出现在单独的窗口中。
所以我的问题是:
如何使用Pygame在同一表面/屏幕上显示不同文件中的对象?
我正在使用pygame.draw函数绘制播放器和粒子。
其中一个课程的一部分:
class Volcano():
def __init__(self, x, y, size):
self.x = x
self.y = y
self.size = size
self.colour = (0, 0, 255)
self.thickness = 1
self.speed = 0
self.angle = 0
def display(self):
pygame.draw.circle(screen, self.colour, (int(self.x), int(self.y)), self.size, self.thickness)
答案 0 :(得分:0)
目标 Surface 需要是 draw
方法的参数:
class Volcano():
# [...]
def display(self, surf):
pygame.draw.circle(surf, self.colour,
(int(self.x), int(self.y)), self.size, self.thickness)
在调用时将 screen
Surface 传递给 draw
方法:
volcano = Volcano(x, y, size)
volcano.draw(screen)