【问题标题】:Unity 3D Puts/Deletes http methodsUnity 3D 放置/删除 http 方法
【发布时间】:2017-04-10 09:01:20
【问题描述】:

我正在考虑将 JavaScript Web 应用程序移植到 C# Unity3D(免费/个人版),用于我正在开发的 RPG。我在 PHP Laravel 5.1 中构建了一个可扩展的独立 API,我的游戏通过 jQuery http 调用与之交互。

我需要在 Unity 中继续进行标准的安静调用,getpostputdelete 等,但只找到了UnityEngine.WWW#,这使得getsposts

This SO Post 共享其他可用的 Unity3D http 方法,但没有一个实际上可以将所有 restful 调用合二为一。我再次询问,因为这是在 2012 发布的,我在 updated documentation 中没有找到任何满足此要求的更新。

Best HTTP BasicBest HTTP 分别为 45 美元和 55 美元,但我认为会有其他免费选项。

我是否在 Unity 中遗漏了一些允许标准 restful 调用的东西?

【问题讨论】:

  • 您使用的是 Unity 专业版还是免费版?
  • @Programmer 免费/个人版

标签: c# php rest http unity3d


【解决方案1】:

WebClientWebRequest 都在 Unity 中可用,并且看起来它只适用于 Pro Unity 版本,就像来自 System.Net 命名空间的任何其他 API 一样。我不知道这个限制在 Unity 5 中是否发生了变化。他们支持你问题中提到的所有那些安静的调用。

Unity 在 5.2 版本中添加了一个名为 UnityWebRequest 的新 API,并在 5.3 中支持移动平台。它旨在取代WWW,它支持所有您问题中列出的restfull 调用。以下是每个示例。这不是一个完整的例子。您可以在我上面提供的链接中找到完整的示例。

//Get
UnityWebRequest get = UnityWebRequest.Get("http://www.myserver.com/foo.txt");

//Post
UnityWebRequest post = UnityWebRequest.Post("http://www.myserver.com/foo.txt","Hello");

//Put
byte[] myData = System.Text.Encoding.UTF8.GetBytes("This is some test data");
UnityWebRequest put = UnityWebRequest.Put("http://www.my-server.com/upload", myData);

//Delete
UnityWebRequest delete = UnityWebRequest.Delete("http://www.myserver.com/foo.txt");

您可以查看每个示例的完整示例,包括使用 json here 发布。

【讨论】:

  • 只是 Unity 5 的更新 - 这些是免费功能,似乎在 Unity 5.4+ 中得到完全支持。我在 Unity 5.3 中使用它们(列为实验性版本)并且它们正在工作。
  • @hubatish UnityWebRequest 是免费的,我没有说它需要专业人士。 WebClientWebRequest 是需要 pro 但在 Unity 5 中不再需要的东西。仅供参考,UnityWebRequest 在 5.4 中不再是实验性的。您现在应该使用 5.4。它解决了许多问题。
猜你喜欢
  • 2018-09-15
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 2021-12-09
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多