处理:在类中调用Capture类可能吗?

时间:2014-11-05 19:08:22

标签: processing

我正在尝试学习如何在Processing中创建类,但是我无法让Capture类使用我在程序主文件中使用的相同代码。

import processing.video.*;

class Game{

    Capture video;

    void videoFunction()
    {

      video = new Capture(this, width, height, 30);
      video.start();

     }

}

我得到的错误是the constructor Capture(filename.Game, int, int, int) is undefined

我猜测问题是使用this还是使用widthheight变量。我可以看到错误消息this被打印为类的文件名,而不是主PDE的文件名。

如何让课程将this识别为主文件名,或widthheight作为主程序的宽度和高度?

1 个答案:

答案 0 :(得分:0)

你的Game类是在Processing草图中,还是在它自己的标签中?

如果它在主草图选项卡中,则可以使用草图的名称来指定“this”的含义。像这样:

void setup(){
  Test2 t = new Test2();
  t.printClass(); 
}


class Test2{

 void printClass(){
  print(TestSketch.this.getClass());
 } 

}

请注意,在上面的示例中,我的草图名称是TestSketch。

如果它在自己的选项卡中,那么您需要通过其构造函数将Processing草图的实例传递给Game类。像这样:

从主草图标签:

void setup(){
  Test t = new Test(this);
  t.printClass(); 
}

在其自己的名为Test:

的标签中
class Test{

  TestSketch testSketch;

  public Test(TestSketch testSketch){
    this.testSketch = testSketch;
  }

 void printClass(){
  print(testSketch.getClass());
 } 

}