Как сделать сеть в Unity? - PullRequest
0 голосов
/ 27 апреля 2020

Эй, я новичок в разработке приложений с использованием Unity.

Нужна помощь в том, как API-вызовы выполняются в Unity. Как администраторы сети могут быть сделаны для звонков API? Как объекты могут быть созданы путем сопоставления JSON? Есть ли библиотека, которая используется для работы в сети вообще? Могу ли я получить пример реализации, чтобы посмотреть?

это вообще используется для работы в сети? https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html?_ga=2.260182286.2011413046.1587971291-955861227.1582882092

Любые выводы будут очень полезны! Благодаря.

1 Ответ

0 голосов
/ 27 апреля 2020

Это так просто!

  1. Отправить запрос с UnityWebRequest Post или Get метод)
  2. Считать значение ответа
  3. Сделайте Struct или Class с полями, которые у вас есть в вашем ответе
  4. Разбор вашего ответа на ваш Json Serialization ( Читать здесь )

Например:

using System;
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

// UnityWebRequest.Get example

// Access a website and use UnityWebRequest.Get to download a page.
// Also try to download a non-existing page. Display the error.

public class Example : MonoBehaviour
{
    [Serializable]
    public class MyClass
    {
        public int level;
        public float timeElapsed;
        public string playerName;
    }

    void Start()
    {
        // A correct website page.
        StartCoroutine(GetRequest("https://www.example.com"));

        // A non-existing page.
        StartCoroutine(GetRequest("https://error.html"));
    }

    IEnumerator GetRequest(string uri)
    {
        using (UnityWebRequest webRequest = UnityWebRequest.Get(uri))
        {
            // Request and wait for the desired page.
            yield return webRequest.SendWebRequest();

            string[] pages = uri.Split('/');
            int page = pages.Length - 1;

            if (webRequest.isNetworkError)
            {
                Debug.Log(pages[page] + ": Error: " + webRequest.error);
            }
            else
            {
                var json = webRequest.downloadHandler.text;
                Debug.Log(pages[page] + ":\nReceived: " + json);

                var myObject = JsonUtility.FromJson<MyClass>(json); //<-- This is your result object
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...