我实现了pygame的滚动。它可以正常工作,但有时当玩家使用短划线移动或从一定距离步行时,相机会有点锯齿,并显示不应显示的黑色背景。下面是函数。
def camera(self):
if self.rect.right >= 500 and self.in_level.world_shift_x >= -((self.in_level.total_level_width - (Screen_Width) - 32)):
if self.vx > 0:
diff = self.rect.right - 500
self.rect.right = 500
self.in_level.shift_world_x((-diff))
elif self.rect.left <= 120 and self.in_level.world_shift_x < 0:
if self.vx < 0:
diff = 120 - self.rect.left
if diff < 5:
diff = 5
self.rect.left = 120
self.in_level.shift_world_x((diff))
if self.rect.top <= 200 and self.in_level.world_shift_y <= -((self.speed / 8)):
diffy = 200 - self.rect.top
self.rect.top = 200
self.in_level.shift_world_y(round(diffy))
elif self.rect.bottom > 400 and self.in_level.world_shift_y >= -((self.in_level.total_level_height - (Screen_Height + 32))):
diffy = self.rect.bottom - 400
self.rect.bottom = 400
self.in_level.shift_world_y(round(-diffy))
我想确保关卡不会滚动以显示不是游戏一部分的黑色背景。谁能帮帮我吗?
编辑:我尝试了另一种形式的相机,但是一旦我放了动画的精灵,整个事情就变成了惨败。 This is the thing I want to fix, in case you are wondering.