2

我想用 JavaScript 创建一个 RPG。角色扮演游戏中会有很多对话。我听说XML 是要走的路...,但我没有使用 XML 的经验,并且有大量使用 PHP 和 MySQL 的经验。

我的问题是:

  • 将对话框存储在 MySQL 数据库中并使用 ID 使用 PHP 访问它会更好吗?还是我应该通过使用 Javascript 访问 XML 文件将其全部保留在前端?
  • 如果我使用 XML,我是否需要在网络服务器(如 WAMP)上运行 javascript?或者我可以在本地解析它:

    function parseXML() {
        xmlhttp=new window.XMLHttpRequest();
        xmlhttp.open("GET","dialog.xml",false);
        xmlhttp.send();
        xmlDoc=xmlhttp.responseXML;             
    }
    

(目前正在给出错误XMLHttpRequest cannot load file:///C:/Users... Cross origin requests are only supported for HTTP.

  • 即使在阅读了 XML 之后,我仍然不确定如何将它与 JavaScript 集成。有人可以帮我举一个例子,说明如何获取一个示例 rpg XML 对话框并在 JavaScript 中有意义地解析它吗?

谢谢

4

3 回答 3

3

为什么不使用 JSON 来代替?从 JavaScript 代码中使用它要容易得多。当您使用它时,请避免手动使用 XMLHttpRequest 并使用一些为您处理坏东西的库(例如,jQuery)。

对于“对话”部分,我不确定您将使用 MySQL 做什么。无论如何,您可以在服务器端使用任何形式的存储,只要您的 PHP 脚本对客户端代码提供格式正确的回复。

于 2013-07-29T17:12:20.777 回答
2

将对话框存储在 MySQL 数据库中并使用 ID 使用 PHP 访问它会更好吗?还是我应该通过使用 Javascript 访问 XML 文件将其全部保留在前端?

在这里拥有数据库的主要优点是您获得了很大的灵活性。您可以非常轻松地创建/编辑/删除一段对话及其关系,而不必每次都维护/重新生成一个巨大的数据文件(就像您使用 XML 或 JSON 或您选择的 w/e 形式所做的那样)。

另一方面,如果您只是进行简单的对话而没有关系且内容有限,则此解决方案可能会过大。

由于您即将使用 Javascript 制作游戏,并且如果您的内容没有太大变化,您可以考虑为您的对话使用 JSON 编码。您可以通过 Javascript 立即解析数据,并且仍然可以像在 XML 中那样在对话之间建立各种复杂的关系。

如果我使用 XML,我是否需要在网络服务器(如 WAMP)上运行 javascript?或者我可以在本地解析它:...

你有这个错误是因为你确实需要在这里运行一个服务器。如果你只是想做一些测试,不需要使用 WAMP 或任何大型网络服务器,现在只需运行一个 python 服务器就可以了。

cd /yourProject
python -m SimpleHTTPServer

让服务器运行并在以下位置打开浏览器:

http://127.0.0.1:8000
于 2013-07-29T17:26:56.327 回答
0

为输入文件提供一个基本 url,如http://localhost/rpgame/dialog.xml.

于 2013-07-29T17:07:24.583 回答