p5.js 和 angularjs - 帮助为我想绘制的对象创建模型
p5.js with angularjs - help creating a model for an object I'd like to draw
我想为我正在绘制的对象创建一个模型,但在 Angular 中我正在为如何做到这一点而苦苦挣扎。我知道 p5 方法在特定函数之外无法识别,但这似乎是我在这里需要做的?
我正在尝试跟随 The Coding Train here 他做了类似的事情。
我试过将代码放入盒子模型内的另一个 draw() 方法中,但我认为这样做不正确。
import * as Matter from 'matter-js';
import * as p5 from 'p5';
export class Box {
...
show() {
let pos = this.body.position;
let angle = this.body.angle;
p5.push();
p5.translate(pos.x, pos.y);
p5.rect(0,0, this.w, this.h);
p5.pop();
...
我希望能够将其导出到一个组件中,实例化一个新框,然后在实例化的 draw() 方法中对其调用 .show()。
似乎我可以将我的 p5 实例传递到 show 方法中,而不是将 p5 导入到我的 Box 模型中。
来自我的组件...
const sketch = (s) => {
...
s.draw = () => {
s.background(51);
// s.rect(box1.position.x, box1.position.y, 80, 80);
box1.show(s)
};
...
并更新了 Box 模型的 show() 方法
...
show(p5) {
let pos = this.body.position;
let angle = this.body.angle;
p5.push();
p5.translate(pos.x, pos.y);
p5.rect(0,0, this.w, this.h);
p5.pop();
...
我想为我正在绘制的对象创建一个模型,但在 Angular 中我正在为如何做到这一点而苦苦挣扎。我知道 p5 方法在特定函数之外无法识别,但这似乎是我在这里需要做的?
我正在尝试跟随 The Coding Train here 他做了类似的事情。
我试过将代码放入盒子模型内的另一个 draw() 方法中,但我认为这样做不正确。
import * as Matter from 'matter-js';
import * as p5 from 'p5';
export class Box {
...
show() {
let pos = this.body.position;
let angle = this.body.angle;
p5.push();
p5.translate(pos.x, pos.y);
p5.rect(0,0, this.w, this.h);
p5.pop();
...
我希望能够将其导出到一个组件中,实例化一个新框,然后在实例化的 draw() 方法中对其调用 .show()。
似乎我可以将我的 p5 实例传递到 show 方法中,而不是将 p5 导入到我的 Box 模型中。
来自我的组件...
const sketch = (s) => {
...
s.draw = () => {
s.background(51);
// s.rect(box1.position.x, box1.position.y, 80, 80);
box1.show(s)
};
...
并更新了 Box 模型的 show() 方法
...
show(p5) {
let pos = this.body.position;
let angle = this.body.angle;
p5.push();
p5.translate(pos.x, pos.y);
p5.rect(0,0, this.w, this.h);
p5.pop();
...