使用 pygame 缩放像素艺术游戏的最佳方法是什么? [已关闭]

问题描述 投票:0回答:2

精灵像图像中一样显示,但我希望它们显示得更大(不模糊像素艺术)。 我缩放了敌人和玩家类中的精灵(使用

pygame.transform.scale()
,并且我尝试了它,但我确信还有另一种解决方案更有效地解决该问题;就像将所有内容放在一个表面中,然后缩放整个表面,而不是单独缩放每个元素。

screen = pygame.display.set_mode((width, height))


while(True):
  player.update()   #updates the character position

  enemy.update()


  # draw
  player_list.draw(screen) #draw player
  enemy_list.draw(screen) #draw enemy


  #pygame.transform.scale(surface, (1,1))
  screen.blit(update_fps(), (10,0))

  pygame.display.flip()

解决这个问题的最佳方法是什么?

python pygame pixel scaling resolution
2个回答
2
投票

我提出了一个解决方案:

对于任何想要制作像素艺术的人来说,这可能会有用:

如果你制作了像素艺术,它可能会像这样显示

你的像素艺术有多少像素(顺便说一句,我建议使用 Libre Sprite)并不重要,只需使用 pygame.transform.scale(surface, (x,y)) 其中 x 和 y 是像素的尺寸screen (在我的例子中 screen = pygame.display.set_mode((640, 360)) )应该绘制完美缩放的像素艺术,如下所示:


0
投票

使用

pygame.transform.smoothscale
pygame.transform.scale
缩放
pygame.Surface
对象:

scaled_image = pygame.transform.smoothscale(image, (new_width, new_height))
© www.soinside.com 2019 - 2024. All rights reserved.