p5. js Событие mousePressed возвращает значение Undefined - PullRequest
0 голосов
/ 14 февраля 2020

Я не могу заставить мышь нажать на консоль журнал MouseEvent. Я даже не уверен, правильное ли это место в функции настройки?

https://codesandbox.io/embed/withered-monad-jrhyw

import React from 'react';
import Sketch from 'react-p5';

const App: React.FC = () => {
  const setup = (p5: any) => {
    canvas = p5.createCanvas(window.innerWidth, window.innerHeight);

    canvas.mouseWheel((e: MouseEvent) => {
      console.log(e); // Wheel Event
    });

    canvas.mousePressed((e: MouseEvent) => {
      console.log(e); // Undefined
    });

  };

  const draw = (p5: any) => {
    p5.background(50);
    p5.fill(0);
    p5.rect(25, 25, 50, 50);
  };

  return (
    <React.Fragment>
      <Sketch setup={setup} draw={draw} />
    </React.Fragment>
  );
};

export { App };

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

readme библиотеки react-p5 указывает, что вы должны использовать метод mousePressed в качестве реквизита, поэтому попробуйте определить его вне setup и затем передать его:

const mp = (e: MouseEvent) => {
  console.log(e);
})

<Sketch setup={setup} draw={draw} mousePressed={mp}/>

Тем не менее, я попытался определить несколько других методов внутри setup, и все, казалось, работало нормально; mousePressed был единственным, кого нужно было передать в качестве реквизита.

0 голосов
/ 14 февраля 2020

Я ответил на этот вопрос об открытой проблеме GitHub, чтобы использовать только один канал для отслеживания этой проблемы и ее устранения. Github Issue # 16

...