p5.js с angularjs - помогите создать модель для объекта, который я хотел бы нарисовать - PullRequest
0 голосов
/ 01 февраля 2019

Я хотел бы создать модель для объектов, которые я рисую, но я борюсь с тем, как это сделать в Angular.Я знаю, что методы p5 не распознаются за пределами определенных функций, но мне кажется, что это то, что мне нужно сделать здесь?

Я пытаюсь следовать вместе с The Coding Train здесь , где онделает что-то подобное.

Я пытался поместить код в другой метод 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();

 ...

Я бы хотел иметь возможность экспортировать это в компонент, создать новый блок и вызвать его .show () в моем экземпляре метода draw ().

1 Ответ

0 голосов
/ 01 февраля 2019

Кажется, вместо импорта p5 в мою модель Box я могу передать свой экземпляр p5 в метод show как таковой.

Из моего компонента ...

const sketch = (s) => {

...

s.draw = () => {
   s.background(51);
   // s.rect(box1.position.x, box1.position.y, 80, 80);
   box1.show(s)
 };

...

И обновленный метод отображения модели Box ()

...

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();

...
...