使用Unity 5.3.5从Rails 4.2.5.1应用程序检索数据

时间:2017-03-26 23:35:59

标签: c# php mysql ruby-on-rails unity3d

第一次在这里问一个问题,让我知道我是否忘记了任何重要的事情!

我目前有一个系统,其中用户在Unity 5.3.5中开发的游戏的高分存储在MySQL数据库中。作为这个系统的一部分,我也在使用Ruby on Rails 4.2.5.1开发一个Web应用程序,这是我用来将数据从游戏中获取到MySQL数据库,我还计划使用它来可视化数据(以及与此问题无关的其他功能)。

我当前的问题是我试图在Unity中显示数据库中的数据,但我一直无法访问我需要的信息。我一直试图通过WWW.text使用Unity的WWW类,但除了我需要的信息之外,最终还是给了我所有的HTML代码(我们在这里讨论的是很多HTML代码)。

之前我已经在PHP中成功完成了这项工作。例如,我在服务器端高分的Unity教程中编写了我自己的这个脚本版本(以下只是我用作参考的一个例子,它是我所理解的相当古老的代码):http://wiki.unity3d.com/index.php?title=Server_Side_Highscores#PHP_-_display.php

使用此脚本(例如www.example.com/display.php)时,我能够获得所需的信息(例如Jon 10的内容)。在我的rails应用程序中,我现在尝试执行相同操作,但无法访问该数据。

在我的一个控制器中,我有以下代码从数据库中检索我想要的数据:

def getData
  @current_highscores = MyModelName.order(score: :desc).pluck(:username, :score)
end

在我的一个视图中,我还有以下代码显示网页上的分数(例如www.example.com/data/getData):

<% @current_highscores.each do |highscore| %>
  <%= highscore %>
<% end %>

这会以我想要的格式(例如`Jon 10')显示我从数据库中提取的信息,但就像我之前提到的,我不知道如何将数据从数据库中恢复到我的游戏中。我对Ruby on Rails有点新意,我正在努力找到一个合适的解决方案,所以任何人的任何帮助或建议都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

我不熟悉铁轨上的红宝石,但你应该能够返回一个包含所需信息的json。

有关如何从rails返回json的信息,请参阅how to return json in rubyrails3 how to return a json document

然后在Unity3D应用程序中解析它。 Many json parsers可用。我在一个项目中使用了LitJson,我觉得它很容易使用。

使用UnityEngine.WWW获取所需的json。