是否可以在处理中返回“ text()”?

时间:2019-10-17 04:31:27

标签: java processing

我想在函数中返回text(x,y,n,n)

当前,这是我的代码的样子:

public void myText(){
    text("Hello World", 20, 20);
}

但是,我很想拥有这样的语法:

public text myText() {
   return ("Hello World", 20, 20);
}

public myText(){
   return (text("Hello World", 20, 20));
}

好吧,我一直在尝试对此问题进行大量研究,但结果仍然是negative

有可能这样做吗?或者还有其他相似之处吗?

2 个答案:

答案 0 :(得分:1)

您可以将文本呈现到PGraphics对象。例如:

void setup() {
    size(200, 200);
}

void draw() {

  background(0);

  PGraphics pgText = myText();

  image(pgText, 20, 30);
  image(pgText, 20, 60);
}

public PGraphics myText() {

    String s = "Hello World";
    int h = 20;
    textSize(h);
    float w = textWidth(s);

    PGraphics pg = createGraphics(int(w), h);
    pg.beginDraw();
    pg.text(s, 0, h);
    pg.endDraw();

    return pg;
}

答案 1 :(得分:0)

听起来您正在寻找课程

您可以创建一个封装您所关心的数据的类。像这样:

class MyText {
  String message;
  int x;
  int y;

  public MyText(String message, int x, int y) {
    this.message = message;
    this.x = x;
    this.y = y;
  }

  void draw(){
    text(message, x, y);
  }
}

然后您可以在草图中使用该类:

MyText myText;

void setup() {
  myText = new MyText("hello", 25, 25);
}

void draw() {
  myText.draw();
}

无耻的自我促进:here是有关在Processing中创建类的教程。