pygame 扩展像素艺术游戏的最佳方式是什么?
Which is the best way to scale pixel art games with pygame?
Sprites 显示与图像中的一样,但我希望它们显示得更大(不模糊像素艺术)。
我缩放了敌人和玩家 class (using pygame.transform.scale()) 中的 Sprites,我试过了,但我确信还有另一种更有效的解决方案来解决这个问题;比如把所有东西都放在一个表面上,然后缩放整个表面,而不是分别缩放每个元素。
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()
哪个是解决这个问题的最佳方法?
使用 pygame.transform.smoothscale
or pygame.transform.scale
to scale the pygame.Surface
个对象:
scaled_image = pygame.transform.smoothscale(image, (new_width, new_height))
我有一个解决方案:
对于任何想要制作像素艺术的人来说,这可能会有用:
如果你制作像素画,它可能会像这样显示
只要使用 pygame.transform.scale(surface, (x,y)) 其中 x 和 y 是屏幕的尺寸(在我的例子中 screen = pygame.display.set_mode((640, 360)) )应该绘制完美缩放的像素艺术,如下所示:
Sprites 显示与图像中的一样,但我希望它们显示得更大(不模糊像素艺术)。 我缩放了敌人和玩家 class (using pygame.transform.scale()) 中的 Sprites,我试过了,但我确信还有另一种更有效的解决方案来解决这个问题;比如把所有东西都放在一个表面上,然后缩放整个表面,而不是分别缩放每个元素。
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()
哪个是解决这个问题的最佳方法?
使用 pygame.transform.smoothscale
or pygame.transform.scale
to scale the pygame.Surface
个对象:
scaled_image = pygame.transform.smoothscale(image, (new_width, new_height))
我有一个解决方案:
对于任何想要制作像素艺术的人来说,这可能会有用:
如果你制作像素画,它可能会像这样显示
只要使用 pygame.transform.scale(surface, (x,y)) 其中 x 和 y 是屏幕的尺寸(在我的例子中 screen = pygame.display.set_mode((640, 360)) )应该绘制完美缩放的像素艺术,如下所示: