p5向量减法“sub”返回错误

IT技术 javascript reactjs p5.js
2021-05-23 18:07:38

我一直在尝试将 p5 草图上传到 React 版本。使用 react-p5-wrapper 我能够成功地在屏幕上渲染我的画布,但是,一些矢量函数会导致错误。

        var distance = this.position.dist(ball.position)
        var minDistance = this.radius + ball.radius
        if (ball === this || distance > minDistance) {
            return
        }
        // balls colliding. First, move them apart.
        console.log(this.position) 
        console.log(ball.position)
        let angle = p5.Vector.sub(this.position, ball.position)// <= RIGHT HERE[![Error Message][1]][1]
        // return

在这部分中,我的 console.logs 都返回有效的 3D 矢量,但是当我使用 p5.Vector.sub(v1, v2) 时,我返回一个错误,内容为“TypeError:无法读取未定义的属性‘sub’”。我的子功能可能与其他东西混淆了?我已经包含了我的错误输出的图片。当我在 console.log 中获取它们的值时,我不确定为什么程序将它们读取为未定义。谢谢你的任何建议

1个回答

根据作者react-p5-wrapperhere in this issue

传递到module中的 p5 与传统上使用脚本标记获得的全局 p5 不同。要使用此包访问某些内容(由于 p5 节点module本身),您需要使用 p5.constructor.[something]

基本上p5.constructor.Vector.sub(this.position, ball.position)在你的情况下使用