HTML5 Web ソケット オブジェクト移動を使用して送信し、Uint8Array を使用してこの値を変換します。問題は、オブジェクトを移動するときに取得する値が float 値を取得する変換を実行した後に double になることです。ここに例があります: 初期値:
player_x:633.8823529411765
player_y:412.235294117647
_stringConvertToUint8Array:function (strData) {
// View the byte buffer as an array of 8-bit unsigned integers
var arrData = new Uint8Array(strData.length);
for (var i=0;i<strData.length;++i) {
arrData[i] = strData.charCodeAt(i);
}
// Log the binary array
cc.log("SEND ARRAY BUFFER: " + arrData.buffer);
return arrData;
},
sendMassage: function(reqJson)
{
if (this.m_wsiSendBinary.readyState == WebSocket.OPEN)
{
var buf = Encode(reqJson);
var binary = this._stringConvertToUint8Array(buf);
this.m_wsiSendBinary.send(binary.buffer);
}
else
{
var warningStr = "send binary websocket instance wasn't ready...";
}
},
印刷結果
SEND ARRAY BUFFER: [object ArrayBuffer]
Websockts.js?_t=1469105183221:30 {
"player_y": 412.235294,
"player_x": 633.882353
}