【问题标题】:Unity: Change code dynamically in 2D gameUnity:在 2D 游戏中动态更改代码
【发布时间】:2016-06-01 22:55:32
【问题描述】:

我想使用 Unity 创建 2D 游戏。我已经阅读了一些教程,但我真的找不到我的问题的答案。

由于我的游戏应该可以由管理员更改(一个人应该能够在分发游戏之前更改文本框和游戏的某些内容),我想在统一程序之外调整游戏的一些代码以适应整个游戏。 是否有可能做到这一点?如果是,这样做的出发点是什么?

我基本上知道在 Unity 中做什么,但我还不了解那里的完整结构。

编辑

示例:我创建了一个游戏,其中用户必须收集从天而降的物品。这些项目默认为单词。 但是这些项目应该是适应性强的,这样我就可以改变单词的内容,例如在引擎之外。

【问题讨论】:

  • 关于你的编辑:为什么不把文字放到一些可编辑的文件中?
  • 这不是 unity 固有的,而是一般编程所固有的,如果您希望在编译后能够修改程序,您必须创建一个自定义配置文件(xml、json、...)包含任何可适应的元素,您必须对其进行解析以检索值。

标签: c# unity3d 2d game-engine unityscript


【解决方案1】:

我不是 Unity 开发人员,也不是游戏开发人员。
有几种方法。首先,利用资源。您不应在代码中对文本框的内容进行编码。它可以保存在文本文件或 XML 文件中。在游戏中,您加载文件并为落下的单词使用集合。
其他方法:构建一个类似“fallingWordGenerator”的接口,将其实现为DLL,并在启动时加载DLL(Loading DLLs at runtime in C#)。

问候

【讨论】:

  • 正如约拿所说。在 Unity 中从网上下载文本文件非常容易,只需使用 WWW 类即可。
  • 谢谢,WWW 课程正是我要找的 :-)
【解决方案2】:

在 Unity 中,您可以使用 AssetsBundle。 http://docs.unity3d.com/Manual/AssetBundlesIntro.html

您可以打包新的代码文件、场景和其他可以在运行时下载和集成的内容。但是,它确实需要 Unity 知识。

【讨论】:

    【解决方案3】:

    Unity 是面向程序员、设计师甚至艺术家的应用程序。您可以在统一项目中创建编辑器,以便您的游戏设计师可以更改和调整游戏数据。 在 unity 中搜索 自定义编辑器

    您可以将设计器的数据保存到 ScriptableObject 中,稍后在运行时使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-27
      • 2016-06-22
      • 1970-01-01
      • 2014-08-23
      • 2022-12-01
      • 2015-07-05
      • 1970-01-01
      • 2023-03-22
      相关资源
      最近更新 更多