0
我決定做一個遊戲,團結+ Node.js的我怎麼能做出統一JS回調函數
https://github.com/floatinghotpot/socket.io-unity
嘗試使用這個庫unityscript
這裏是我的代碼,到目前爲止
#pragma strict
import System.Collections.Generic;
import UnityEngine.UI;
import Quobject.SocketIoClientDotNet.Client;
public class SocketIOScript extends MonoBehaviour {
var _socket : Socket;
function Start() {
if(!_socket) {
_socket = IO.Socket("http://localhost:3000");
_socket.On("connect", function(asd) {
_socket.Emit("chat", "hello");
});
_socket.On("chat", function(data) {
print(data.id);
});
}
}
}
,但此行
_socket.On("chat", function(data) {
print(data.id);
});
給出錯誤
資產/ SocketIOScript.js(24,52):BCE0019: 'ID' 不是 '物件' 的部件。
,當我想看看什麼是「數據」的類型
print(typeof data);
它說
Newtonsoft.Json.Linq.JObject
我不知道該怎麼辦。據我昨天全拿了,所以我決定在這裏提出
這裏順便說一句的是什麼,我要完成的C#版本(從socket.io-團結演示)
socket.On ("chat", (data) => {
string str = data.ToString();
ChatData chat = JsonConvert.DeserializeObject<ChatData> (str);
string strChatLog = "user#" + chat.id + ": " + chat.msg;
'print(data [「id」])'有效嗎?如果不是,當你執行print(data.toString())'時,你會得到什麼? –