どうもUSUです。
以前から自己学習しているUNITYC#とPHPとの連携のスクリプトを備忘録として記しておきます。まだまだ理解の浅い駆け出しなので細かい間違いはご愛敬( *´艸`)
PHPを呼び出すスクリプト
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//ボタンやテキスト等UIを使う場合に必要
using UnityEngine.Networking;//ネットワークを使用する際に使う
public class Terasu : MonoBehaviour
{
public GameObject Text;//テキストをインスタンス化
void Start()
//開始時に実行
{
Text = GameObject.Find("Text");//Textオブジェクトを探す
StartCoroutine("Access");//アクセス関数を実行
}
private IEnumerator Access()//呼び出されると以下のPHPを実行
{
StartCoroutine(Post("http://localhost/dbaccess/DBの値を返す.php"));
yield return 0;
}
private IEnumerator Post(string url)//Postでデータを送受信
{
WWWForm form = new WWWForm();
using (UnityWebRequest www = UnityWebRequest.Post(url, form))
{
yield return www.SendWebRequest();
Text.GetComponent<Text>().text =www.downloadHandler.text;//PHPで返したデータベースの値をUNITYのテキストに表示する
}
}
}
DBの値をUNITYのテキストに表示する
PHP側とセットになりますのでこれだけでは動きませんが、DBでSELECTした値をテキストに表示することができます。
private IEnumerator Access()//呼び出されると以下のPHPを実行
{
StartCoroutine(Post("http://localhost/dbaccess/DBの値を返す.php"));
yield return 0;
}
private IEnumerator Post(string url)//Postでデータを送受信
{
WWWForm form = new WWWForm();
using (UnityWebRequest www = UnityWebRequest.Post(url, form))
{
yield return www.SendWebRequest();
Text.GetComponent<Text>().text =www.downloadHandler.text;//PHPで返したデータベースの値をUNITYのテキストに表示する
}
}
}