0

对不起,如果这是一个非常简单的问题。如何使矩形从处理窗口的一侧反弹。我不确定错误消息的含义以及“运算符 *= 对于参数类型 PVector int 未定义”。

PVector position, velocity, scaler, scaleSpeed, blurValue, blurSpeed;
PImage avatar;

void setup()
{
  size(600,600);
  avatar = loadImage("BlackPower.png");
  position = new PVector(0, 0);
  velocity = new PVector(2,0);
}

void draw()
{
  background(255);
  translate(position.x, position.y);
  position.add(velocity);

  fill(0);
  rect(50,50, 200,50);

  if(position.x>width || position.x<0 || 
     position.y>height  || position.y<0)
   {
     velocity*=-1;
   }
}
4

2 回答 2

2

PVector 不是一个数字,如果你想将它乘以某物,请使用 mult() - http://processing.org/reference/PVector.html

于 2013-03-18T23:40:23.373 回答
0

您可以使用 velocity.mult(-1) 将向量与 -1 相乘,或者使用 velocity.rotate(180) 将其旋转到 180 度

于 2021-11-06T11:56:27.330 回答