我正在制作一个基本的游戏,我想知道是否有人可以帮助我
所以在经过一段时间后,电源会向下滚动屏幕,但我无法让它工作
这是我使用的方法:
def random_event(self):
self.force_img_r = self.force_img.get_bounding_rect()
self.rnd_x = random.randint(5,315)
self.force_img_r.x = self.rnd_x
self.force_img_r.y += 3
screen.blit(self.force_img,(self.rnd_x, self.force_img_r.y))
所有这一切都是图像闪烁一瞬间然后什么都没有
谁能告诉我它为什么不起作用??
答案 0 :(得分:-1)
在pygame中,你通常有一个主循环,可以在每次迭代时清理屏幕,这可能就是为什么你只看到一个闪烁,你画画并在下一个循环中再次清理。
为了解决这个问题,在pygame中,事件应该只更新游戏状态,并根据当前状态在每个循环上绘制屏幕。
一些伪代码:
# Main Loop
while True:
# Process events
# -> Update game state
# Clean screen
# Draw current state to the screen
# Update or flip display
# Keep framerate (clock.Tick())
您可以调用外部类/方法/函数,但应始终将此结构保留在主循环中。