JS преобразование с использованием двойного значения Uint8Array преобразовать его в число с плавающей точкой

Я отправляю с использованием HTML5 веб-сокетов объекта движения, затем я конвертирую это значение с помощью Uint8Array . проблема заключается в том, что значение, которое я получаю при перемещении объекта, удваивается после выполнения преобразования, получая значение с плавающей запятой. Вот пример: Начальное значение:

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
}

0 ответов

Другие вопросы по тегам