【问题标题】:How to use console.log(); for multiple variables如何使用 console.log();对于多个变量
【发布时间】:2018-12-31 05:06:12
【问题描述】:

我正在使用 p5.js 和 Kinectron 让一台服务器计算机通过 LAN 显示来自另一台计算机的 RGB、深度和骨架数据,它是自己的 kinect。

使用 p5.js,我试图将两个不同的变量记录到控制台,但我只能记录其中一个变量。

代码:

   ...
    function drawJoint(joint) {
      fill(100);
      console.log( "kinect1" + joint);
      // Kinect location data needs to be normalized to canvas size
      ellipse( ( joint.depthX * 300 ) + 400 , joint.depthY * 300 , 15, 15);

      fill(200);

    ...

    function draw2Joint(joint2) {
      fill(100);
      console.log ("kinect2" + joint2);

      // Kinect location data needs to be normalized to canvas size
      ellipse(joint2.depthX * 300 , joint2.depthY * 300, 15, 15);

      fill(200);

      ...

运行上述代码时,控制台只实时显示来自 Kinect 1 的关节数据,而我需要将 Kinect 的两个关节数据都记录到控制台。

如何将 console.log 用于多个变量/参数?

提前致谢!

【问题讨论】:

  • 你知道draw2Joint是否正在被执行吗?
  • console.log(var1, var2, var3);
  • 请提供一个运行代码,以便任何人都可以调试它并让您知道它缺少的地方。
  • 是的,draw2joint 正在执行,我知道这是因为当我不使用和 console.log();行,我可以在一台计算机上看到来自 2 个 kinect 的骨架,这意味着该功能必须正常工作。
  • @NullPointer ,我会使用 console.log(var1, var2, var3);在函数内部还是外部?

标签: javascript json console console.log


【解决方案1】:

试试这个

var joint1,jointtwo;
function drawJoint(joint) {
  fill(100);
  joint1=joint;
  // Kinect location data needs to be normalized to canvas size
  ellipse( ( joint.depthX * 300 ) + 400 , joint.depthY * 300 , 15, 15);

  fill(200);

...

function draw2Joint(joint2) {
  fill(100);
   jointtwo=joint2;

  // Kinect location data needs to be normalized to canvas size
  ellipse(joint2.depthX * 300 , joint2.depthY * 300, 15, 15);

  fill(200);

  ...

  console.log(joint1+":"+jointtwo);

【讨论】:

  • 最后一行在哪里有关系吗? console.log(joint1+ ":" +jointtwo);去?是在所有函数之后还是在函数内部
  • joint1,jointtwo 是全局变量,因此您可以获取值
  • 如果它不起作用...制作 jsfiddle 并将您的完整代码发送给我..我会编辑它
  • 我们在控制台中得到 undefined:undefined。但是,我们一直在在线使用 p5.js 编辑器并将其用作应用程序。 jsfiddle.net/jaytailor15/koLr3zhm/#&togetherjs=KD8zH2atFf
  • 检查你的函数调用与否?
【解决方案2】:

drawJointdraw2Joint 是从某个地方调用的,所以你可以 log joint 和当时的joint2

console.log(joint,joint2);

【讨论】:

    【解决方案3】:

    您必须使用全局变量才能同时记录它们。以下是要添加到您目前拥有的函数中的代码行。

    // add global variables 
    var joints1 = null;
    var joints2 = null;
    
    function bodyTracked(body) {
      // assign value to joints1
      joints1 = body.joints;
    }
    
    function bodyTracked2(body) {
      // assign value to joints2
      joints2 = body.joints;
    }
    
    function draw() {
      // log current values at the same time
      console.log(joints1, joints2);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-14
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      相关资源
      最近更新 更多