如何解决尽管与屏幕大小相同,但 pygame 表面在中间被切断
screen = pygame.display.set_mode((WIDTH,HEIGHT))
canvas = pygame.Surface((WIDTH,HEIGHT))
def makefunnytiles(saice):
global WIDTH
global HEIGHT
global screen
global roomdata
global tiledeFinitions
print("Baking Tiles")
print(roomdata)
index = 0
index2 = 0
for symbolic in saice:
index2 = 0
symbolic = symbolic.strip()
print("sanity")
for symbol in list(symbolic):
print(symbol)
if symbol in tiledeFinitions:
canvas.blit(pygame.image.load("sprites/" + str(roomdata['area']) + "/" + str(tiledeFinitions[symbol]) + ".png").convert_alpha(),((32 * index2),(32 * index)))
index2 += 1
index += 1
screen.blit(canvas,(0,0))
pygame.display.flip()
print("drew screen")
print(str(canvas.get_width))
我遇到了一个问题,因为某种原因画布在屏幕中间被切断了。
我遇到的另一个问题是文件末尾的 pgzrun.go()
,这会导致程序崩溃并出现以下错误:
Traceback (most recent call last):
File "C:\Users\rushVisor\Documents\Glamore\main.py",line 100,in <module>
pgzrun.go()
File "E:\python39\lib\site-packages\pgzrun.py",line 31,in go
run_mod(mod)
File "E:\python39\lib\site-packages\pgzero\runner.py",line 113,in run_mod
PGZeroGame(mod).run()
File "E:\python39\lib\site-packages\pgzero\game.py",line 217,in run
self.mainloop()
File "E:\python39\lib\site-packages\pgzero\game.py",line 225,in mainloop
self.reinit_screen()
File "E:\python39\lib\site-packages\pgzero\game.py",line 73,in reinit_screen
self.mod.screen.surface = self.screen
AttributeError: 'pygame.Surface' object has no attribute 'surface'
我尝试修改画布和屏幕的分辨率值,甚至是精灵本身的位置。我将画布拖到屏幕上,而不是直接在屏幕上绘制,因为如果我是对的,它应该能让我更轻松地添加滚动。
我感谢任何人能给我的任何帮助。
编辑:代码在这里https://paste.pythondiscord.com/tetogequze.py
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。