将参数从构造函数传递到processing/java中的函数

发布于 2024-09-14 10:05:24 字数 842 浏览 8 评论 0原文

我在处理某些对象时遇到问题。 代码应该有两个显示和移动的对象。但我只看到一个物体显示并移动。也许我缺少一些东西。查看代码。

Rule myRule;
Rule myRule1;

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

  //Initialize rule objects
  myRule = new Rule(0,100,1);
  myRule1 = new Rule(0,140,20);
}



void draw() {
  background(255);
  //int x1 = 0;
  //int y1 = 0;
  //Operate Rule object
  myRule.move();
  myRule.display();
  myRule1.move();
  myRule1.display();
}


class Rule {

  float x;
  float y;
  float spacing;
  float speed;

  Rule(float x1, float y1, float s1) {
    x = x1;
    y = y1;
    spacing = 10;
    speed = s1;
  }

  void move() {
    x = x + speed;
    if((x > width) || (x < 0)) {
      speed = speed * -1;
    }
  }

  //Display lines at x location
  void display() {
    stroke(0);
    fill(175);
    line(x, height/2, width/2, height/2);
  }
}

I'm having trouble with some objects in processing.
the code should have two objects displayed and moving. but i only see one object displayed and moving. maybe there's something i'm missing. check out the code.

Rule myRule;
Rule myRule1;

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

  //Initialize rule objects
  myRule = new Rule(0,100,1);
  myRule1 = new Rule(0,140,20);
}



void draw() {
  background(255);
  //int x1 = 0;
  //int y1 = 0;
  //Operate Rule object
  myRule.move();
  myRule.display();
  myRule1.move();
  myRule1.display();
}


class Rule {

  float x;
  float y;
  float spacing;
  float speed;

  Rule(float x1, float y1, float s1) {
    x = x1;
    y = y1;
    spacing = 10;
    speed = s1;
  }

  void move() {
    x = x + speed;
    if((x > width) || (x < 0)) {
      speed = speed * -1;
    }
  }

  //Display lines at x location
  void display() {
    stroke(0);
    fill(175);
    line(x, height/2, width/2, height/2);
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左秋 2024-09-21 10:05:24

这是 Rule.display() 中的拼写错误。你的意思可能是这样的

线(x,y,宽度/2,高度/2);

It's a typo in Rule.display(). You probably meant something like

line(x, y, width/2, height/2);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文