我一直在开发一个基于 this 的 pygame
平台游戏。 。我是在Ubuntu机器上写的,在其他操作系统上好像不行。
生成代码是这样的:
levelFile = tkFileDialog.askopenfile(mode='r', defaultextension='.lvl', filetypes=[('Level File', '*.lvl')], parent=tk)
level = levelFile.read().split("\n")
del level[len(level) - 1]
# Add platforms to array based on level string
我在文本编辑器中使用 ASCII 字符来表示不同的图 block 创建了一个关卡。
它在我的 Ubuntu 机器上运行良好,但在 MacBook Air 和 Windows 笔记本电脑上运行时,却无法运行。关卡布局未按预期加载(图 block 加载到意外位置,并且相机位置困惑)。
有人知道发生了什么事以及如何解决它吗?
最佳答案
关卡文件中的行分隔符与操作系统相关,如果您在 Linux 下创建文件,它将在 Windows 下使用“\n”“\r\n”,因此这可能是它不起作用的原因。我认为你应该使用 os.linesep 而不是“\n”将文件分割成行。
level = levelFile.read().split(os.linesep)
关于python - 非面向 Ubuntu 的 pygame 平台游戏无法在 Ubuntu 以外的任何平台上正确加载关卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41666200/