gpt4 book ai didi

python - Pygame 比例搞乱了 Sprite

转载 作者:太空宇宙 更新时间:2023-11-04 05:31:29 25 4
gpt4 key购买 nike

我正在制作 2d top down 游戏,但在放大/缩小和更改分辨率时遇到问题。

game start

zoom out

zoom in

这是我用来操作图像( Sprite )的代码:

char = pygame.image.load('char.png')
char_size = 10

def set_res(self,window_h):
self.w = int(window_h * 1.2)#4:3
self.h = int(window_h * 0.9)#4:3
self.mode = (self.w, self.h)
self.screen = pygame.display.set_mode(self.mode)
self.zoom()

def zoom(self):
self.unit = self.h / self.board_units
self.char = pygame.transform.scale(self.char, (int(self.unit*self.char_size),int(self.unit*self.char_size)))
.
.
.
self.screen.fill(self.white)
self.screen.blit(self.char, (self.w/2-self.char_size*self.unit/2, self.h/2-self.char_size*self.unit/2))
pygame.display.update()

最佳答案

这一行:

self.screen.blit(self.char, (self.w/2- self.char_size*self.unit/self.h/2-self.char_size*self.unit/2))

似乎在 left 和 top 之间的元组中缺少一个逗号:

self.screen.blit(self.char, (self.w/2- self.char_size*self.unit, self.h/2-self.char_size*self.unit/2))

此外,您已经对 char 进行了缩放,所以只需向 char 询问其大小的 rect,以屏幕中央为中心:

self.screen.blit(self.char, self.char.get_rect(center=(self.w/2, self.h/2)))

关于python - Pygame 比例搞乱了 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37027266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com