gpt4 book ai didi

xna - 我应该把我的自定义关卡文件夹放在 XNA 游戏中的什么位置?

转载 作者:行者123 更新时间:2023-12-04 07:08:14 27 4
gpt4 key购买 nike

我对在我的游戏中存储 *.txt 级别文件的位置和方式感到非常困惑。

我想要在我的游戏中提供一些随游戏一起安装的“预烘焙”关卡的可用性,以及用户创建自己的关卡的能力。

所以我所做的是在 Visual Studio 中的“内容”中创建一个名为“级别”的新目录,并在那里放置一个“level1.txt”。但是我可以访问级别 *.txt 文件的唯一方法是使用完整路径,我不能将它们包含在我的 Visual Studio 解决方案中,因为它没有构建:

 "C:\My Documents\blahblabh....\levels\level1.txt"
  • 我是否将这些“预烘焙”映射放入可执行文件附近的某个目录中?在编译项目之前,如何在/bin 目录中创建一个目录?
  • 我如何禁止用户删除随游戏安装的“预烘焙”关卡?(我不再需要这个)
  • 另外,我在哪里存储用户自定义创建的级别?我认为这应该用 StorageDevice 来完成。但这与关于如何在部署游戏后创建目录的第一个问题有关。

  • 欢迎任何指点!谢谢

    编辑:回复:自定义内容处理器。这似乎比我需要的要复杂得多。但是我还需要将我的游戏部署到 xbox360,那么存储设备可以工作吗?

    最佳答案

    您可以编写一个自定义内容处理器来处理您的关卡文件,但这可能有点矫枉过正。这样做的好处是您可以将关卡“编译”为某种格式,用户更难修改。

    您可以将它添加到您的项目(不在内容中)并在属性中指定“复制到输出目录 - 始终复制”。在您的项目中创建一个新的子文件夹并将其放在那里 - 这将是它被复制到的目录。

    对于禁止用户删除预烘焙级别,Windows 无法允许这样做。如果用户要删除一些预期的文件,您可以检查您的代码,这将导致它失败。

    要创建新目录,您可以使用 StorageDevice.OpenContainer().Path 获取根路径并使用 Directory.CreateDirectory。这将适用于 PC 和 XBox。

    关于xna - 我应该把我的自定义关卡文件夹放在 XNA 游戏中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/774924/

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