2017-02-16 1 views
1

을 사용하여 PHP 스크립트에서 일부 변수를로드하십시오. Unity Game Engine에 어려운 프로젝트가 있습니다. 서버에 PHP 파일의 변수를로드하는 스크립트를 만들어야합니다. 내 PHP 스크립트입니다 :JavaScript 및/또는 C# (Unity3D)

<?php 
$MasterServer = "SomeIP1"; 
$MasterServer2 = "SomeIP2"; 
$MasterServer3 = "SomeIP3"; 

echo "1 Server = ".$MasterServer; 
echo "2 Server = ".$MasterServer2; 
echo "3 Server = ".$MasterServer3; 
?> 

그리고이 결과 : C#으로 (변수로) 다음을 읽는 방법

1 Server = SomeIP1 
2 Server = SomeIP2 
3 Server = SomeIP3 

및/또는 JS (Unity3D)?

+0

'responseFromServer.Split ('\ n ') 선택 (v => 새 KeyValuePair <문자열, 문자열> (v.Split ('= ') [0], v.Spit ('= ') [1]) ";''{"1 "서버", "SomeIP1"}, { "2 서버", "SomeIP2"} ...' –

답변

3

하지 마십시오. 그것은 귀하의 질문에 대한 적절한 대답입니다. xml 또는 json을 사용하여 데이터를 보유하십시오.

PHP 쪽에서 모든 데이터를 하나의 json 문자열로 구성하십시오. C# 측에서는 WWW 클래스와 함께 수신하고 deserialize json into 객체를받습니다. 그런 다음 1 Server, 2 Server 및 3 Server 데이터에 액세스 할 수 있습니다.

PHP :

유니티에게 보내기 :

{"server1":"SomeIP1","server2":"SomeIP2","server3":"SomeIP3"} 

당신은 IP를 가진 SomeIP1, SomeIP2 및 SomeIP3를 교체해야합니다.

C#을 :

[Serializable] 
public class ServerInfo 
{ 
    public string server1; 
    public string server2; 
    public string server3; 
} 

....

IEnumerator downLoadFromServer() 
{ 
    WWW www = new WWW("yourUrl"); 
    yield return www; 
    string json = www.text; 

    ServerInfo serverInfo = JsonUtility.FromJson<ServerInfo>(json); 
    Debug.Log("server1: " + serverInfo.server1); 
    Debug.Log("server2: " + serverInfo.server2); 
    Debug.Log("server3: " + serverInfo.server3); 
} 

난 당신이 시간을 보내는 방법 JSON 작품을 배울 좋습니다.