【问题标题】:How to get element in Leap Motion frame?如何在 Leap Motion 框架中获取元素?
【发布时间】:2014-06-26 08:41:41
【问题描述】:

这就是我试图通过 WebSocket 从 Leap Motion 设备的框架中获取特定元素的方式。

var webSocket = require('ws');
ws = new webSocket('ws://127.0.0.1:6437');

ws.on('message', function(data, flags) {
    var frame = JSON.parse(data);
    var id = frame.hands;
    var pos = id[0];
    console.log(pos);
});

JSON 对象看起来像这样:Leap Motion Sample Frame

我收到了这个错误。

Sanjeet-Suhags-MacBook-Pro:LeapJS sanjeetsuhag$ node index.js

/Users/sanjeetsuhag/Developer/Node/LeapJS/index.js:7
    var pos = id[0];
                ^
TypeError: Cannot read property '0' of undefined
    at WebSocket.<anonymous> (/Users/sanjeetsuhag/Developer/Node/LeapJS/index.js:7:14)
    at WebSocket.emit (events.js:98:17)
    at Receiver.self._receiver.ontext (/Users/sanjeetsuhag/Developer/Node/LeapJS/node_modules/ws/lib/WebSocket.js:697:10)
    at Receiver.opcodes.1.finish (/Users/sanjeetsuhag/Developer/Node/LeapJS/node_modules/ws/lib/Receiver.js:397:14)
    at Receiver.expectHandler (/Users/sanjeetsuhag/Developer/Node/LeapJS/node_modules/ws/lib/Receiver.js:384:31)
    at Receiver.add (/Users/sanjeetsuhag/Developer/Node/LeapJS/node_modules/ws/lib/Receiver.js:93:24)
    at firstHandler (/Users/sanjeetsuhag/Developer/Node/LeapJS/node_modules/ws/lib/WebSocket.js:673:22)
    at process._tickCallback (node.js:419:13)

怎么了?谢谢。

【问题讨论】:

    标签: javascript node.js leap-motion


    【解决方案1】:

    如果没有检测到手,hands 数组为空,只需将代码更改为:

    ws.on('message', function(data, flags) {
        var frame = JSON.parse(data);
        var id = frame.hands;
        if (id.length === 0)
            return;
        var pos = id[0];
        console.log(pos);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多