gpt4 book ai didi

c# - 如何组织 XNA 内容项目以允许在运行前和运行时编辑游戏脚本

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:56 24 4
gpt4 key购买 nike

现在在我的 XNA 解决方案中有 2 个项目,我的主要 XNA 游戏项目和一个 XNA 内容项目。我开始将我游戏的某些方面暴露给脚本引擎,主要目的是让我自己能够更改行为和数据,而无需关闭我的游戏、重新编译、重新启动。

现在,当我进行新构建时,它会在 C:\solution\project\bin\x86\Debug 目录中创建二进制文件,并将内容项目中的所有数据复制到 C:\solution\project\bin\x86\调试\内容。我试图解决的问题是将我的游戏脚本放在哪里,这样它们既可以在运行时被游戏访问,又可以在运行前和运行期间进行编辑,而不会有更改被下次重建/复制过程覆盖的风险。

如果脚本在我的内容项目中并且我在运行时编辑它们,我可以看到加载脚本更改的唯一方法是检查 C:\solution\project\bin\x86\Debug\Scripts 并进行比较它到 C:\solution\projectContent\Scripts 中的相同脚本文件并加载较新的一个。这看起来很不稳定,需要对路径进行硬编码。

有没有更优雅的方式来处理这个问题?

最佳答案

在 Windows Phone 或 XBox 上,您甚至无法在运行时获得这些路径 - 因此您大概是在询问 Windows 上的 XNA(如果是,请在您的问题中加以说明)。

如果您的文件不需要以任何方式由内容管道处理,我建议您将它们放在由 Environment.SpecialFolder.ApplicationData 标识的公共(public)位置。 .该值适用于 XNA 框架(尽管我不确定它在 PC 以外的平台上将指向何处)。

至于您的开发设置,您可以include these files using a wildcardenvironment variables .

一个简单的预构建批处理文件可以将这些文件复制到公共(public)位置(如果它们不存在)——这样检查您的代码的人就不需要手动复制这些文件。

希望这对您有所帮助!

关于c# - 如何组织 XNA 内容项目以允许在运行前和运行时编辑游戏脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876022/

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