我试图编写一个简单的代码跟随鼠标'程序,但以下代码抛出一个错误,说静态.sub()方法不存在:
void update()
{
PVector mouse = new PVector(mouseX, mouseY);
PVector direction = PVector.sub(mouse, location); // dir = mouse - location
direction.normalise();
direction.multiply(0.4);
acceleration = direction;
velocity.add(acceleration);
velocity.limit(maxVelocity);
location.add(velocity);
}
我自己定义了一些方法(方法重载?),因此我们为什么要多次使用'而不是' mult'等等,但我无法理解为什么它告诉我.sub()不存在,当它clearly there in the documentation时。我也有其他一些方法。
我是否需要定义自己的静态.sub()?你甚至可以在Processing中做到这一点吗?
提前致谢。
答案 0 :(得分:0)
说你自己定义了一些方法并没有多大意义。您使用的是处理中的PVector
类,还是使用自己的PVector
类?
如果您正在使用自己的PVector
课程,那么您将需要定义自己的sub()
课程,或者您可以使用处理&#39 ; s PVector
类使用完全限定名称,如下所示:
processing.core.PVector x = processing.core.PVector.sub(y, z);
当然,这也会返回处理PVector
,而不是PVector
。
我不确定您为什么需要定义自己的PVector
课程,或者为什么您需要定义自己的PVector
方法。那里听起来有些东西。
如果这不能解决您的问题,那么请修改您的问题以包含MCVE,包括您自己定义的任何方法,以及您如何定义它们