如何将 P5-属性 添加到 s.Vector 对象?
How can I add the P5-property to a s.Vector object?
我有两种不同的
let diff = nearby.boid.velocity
console.log(diff.p5) //undefined
diff = p5.Vector.div(diff, nearby.d*nearby.d)
steering.add(diff)
第二个:
let diff = p5.Vector.sub(this.position, nearby.boid.velocity);
console.log(diff.p5) // an object with the p5-property
console.log('')
diff.div(nearby.d*nearby.d);
steering.add(diff);
我想规范化代码,以便将其放入函数中。在第一个示例中,我不能使用 diff.div,而在第二个示例中,我不能使用 p5.vector.div。 p5.vector.sub 正在添加一个 p5 属性,我可以不做减法吗?
我对您要尝试做的事情有点困惑:为什么您的函数中需要 p5
引用?为什么不能在第二个示例中使用 p5.Vector.div()
?你能 post 一个 small example 来显示你正在尝试做什么,以及为什么它不起作用吗?
请记住,函数有两个版本:静态和非静态。例如:
p5.Vector.div()
是静态的,带两个参数,returns一个结果,不修改参数。
myVectorInstance.div()
是非静态的。它接受一个参数,并将 myVectorInstances
修改为包含结果。
如果你想创建一个不影响参数的函数,那么你可能想使用静态版本。
如果你很好奇,可以看看p5.Vector
here的代码。看起来它在内部使用 p5
引用,使用 p5.toRadians()
和 p5.fromRadians()
函数在度数和弧度之间进行转换。我不知道为什么 p5.Vector
的某些实例会填充它而其他实例不会填充它,但这似乎是您不应该依赖的实现细节。
我有两种不同的
let diff = nearby.boid.velocity
console.log(diff.p5) //undefined
diff = p5.Vector.div(diff, nearby.d*nearby.d)
steering.add(diff)
第二个:
let diff = p5.Vector.sub(this.position, nearby.boid.velocity);
console.log(diff.p5) // an object with the p5-property
console.log('')
diff.div(nearby.d*nearby.d);
steering.add(diff);
我想规范化代码,以便将其放入函数中。在第一个示例中,我不能使用 diff.div,而在第二个示例中,我不能使用 p5.vector.div。 p5.vector.sub 正在添加一个 p5 属性,我可以不做减法吗?
我对您要尝试做的事情有点困惑:为什么您的函数中需要 p5
引用?为什么不能在第二个示例中使用 p5.Vector.div()
?你能 post 一个 small example 来显示你正在尝试做什么,以及为什么它不起作用吗?
请记住,函数有两个版本:静态和非静态。例如:
p5.Vector.div()
是静态的,带两个参数,returns一个结果,不修改参数。myVectorInstance.div()
是非静态的。它接受一个参数,并将myVectorInstances
修改为包含结果。
如果你想创建一个不影响参数的函数,那么你可能想使用静态版本。
如果你很好奇,可以看看p5.Vector
here的代码。看起来它在内部使用 p5
引用,使用 p5.toRadians()
和 p5.fromRadians()
函数在度数和弧度之间进行转换。我不知道为什么 p5.Vector
的某些实例会填充它而其他实例不会填充它,但这似乎是您不应该依赖的实现细节。