buildozer打包pygame的bug..
python吧
全部回复
仅看楼主
level 11
喵喵陳 楼主
current_dir = os.path.dirname(os.path.abspath(__file__))
fontfile = os.path.join(current_dir, 'font', '1.otf')
render exists('font\1.otf')正常執行,結果為True
嘗試把Font(fontfile,20) abspath 換成 Font('font\1.otf')>閃退 好奇怪喵
源碼在下----
import pygame
from pygame.font import Font
import os
import sys
log=[]
pygame.init()
screen = pygame.display.set_mode((400, 300), pygame.NOFRAME)
clock = pygame.time.Clock()
current_dir = os.path.dirname(os.path.abspath(__file__))
fontfile = os.path.join(current_dir, 'font', '1.otf')
os.chdir(current_dir)
ff=os.listdir('font')
for s in ff:
path=f'font/{s}'
res=os.path.exists(path)
log.append(path+':'+str(res))
font = Font(fontfile, 20)
screen.fill((255, 255, 255))
x=y=0
print(log)
for s in log:
t = font.render(str(s), True, (0, 0, 0))
r = t.get_rect()
r.top = y
y += r.h
screen.blit(t, (x,y))
pygame.display.flip()
# 5. 主迴圈
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
clock.tick(60)
pygame.quit()
sys.exit()
2026年06月06日 06点06分 1
level 13
试试Microsoft Copilot的建议?
2026年06月07日 16点06分 2
這玩意能用abspath解決,很好解決,只是在找原因喵....不過應該不是py能處理吧?
2026年06月07日 22点06分
@喵喵陳 大概率处理不了。我之前用Pyinstaller封装应用,构造绝对路径可能会有问题,需要用到一个特殊的MEI_PASS变量表示Pyinstaller临时解压应用后的所在目录,用这个来构造路径才是对的
2026年06月08日 00点06分
1