【发布时间】:2021-06-15 16:34:45
【问题描述】:
我想创建一个基本的物理沙盒应用程序,使用 matter.js 作为物理引擎并使用 p5.js 进行渲染。我的想法是在按下特定按钮时生成身体(左键用于有弹性的身体,右键用于沉重的身体等)。我使用此代码进行按键控制:
if (keyIsDown(LEFT_ARROW)) {
rubber2 = new Rubber(100,40,15)
rubber2.display()
}
rubber2.display();
这是Rubber 类:
class Rubber {
constructor(x, y, r) {
var options = {
'restitution': 1.5,
'density': 0.9,
'friction': 1
}
this.x = x;
this.y = y;
this.r = r
this.body = Bodies.circle(this.x, this.y, (this.r - 20) / 2, options)
World.add(world, this.body);
}
display() {
var rubberpos = this.body.position;
push()
translate(rubberpos.x, rubberpos.y);
rectMode(CENTER)
strokeWeight(4);
stroke("green");
fill("yellow");
ellipse(0, 0, this.r)
pop()
}
}
这给了我诸如rubber2 is not defined 或rubber2 之类的错误,仅在按住键且没有任何物理特性时才显示。根本不显示球确实会创建身体但不可见。
【问题讨论】:
标签: javascript p5.js matter.js