Javascript 创建一个简单的处理p5.js库
我试图创建一个简单的库,但遇到了问题。这是我的html文件:Javascript 创建一个简单的处理p5.js库,javascript,processing,p5.js,Javascript,Processing,P5.js,我试图创建一个简单的库,但遇到了问题。这是我的html文件: ` <html> <script src = 'p5.min.js'></script> <script src = 'mosaic.js'></script> <script src = 'sketch.js'></script> <body> <script>setMosaic
`
<html>
<script src = 'p5.min.js'></script>
<script src = 'mosaic.js'></script>
<script src = 'sketch.js'></script>
<body>
<script>setMosaic(true)</script>
</body>
</html>
`
如果我从内部调用setMosaic,如html文件所示,它会给我一个函数未定义错误。但我可以从sketch.js的setup()或draw()内部成功调用setMosaic()。当我在/src/environment/environment.js中定义setMosaic并再次构建p5.js时,从草图外部调用setMosaic是有效的
有没有办法从草图外部调用setMosaic
编辑(回应评论):
1) 我正在尝试构建一个框架,可以将草图缩放到多个屏幕。所以写草图的人必须以正常的方式来做,但是我的工具将调用一些与服务器e.t.c.通信的函数。所以我需要在草图之外调用这些函数,但是它们应该绑定到p5对象(名称空间),因为我写的函数反过来必须调用p5js内部的一些函数。这是
2) 每个草图的值都将受到影响。通过调用setMosaic作为p5.prototype.setMosaic()解决了该问题。
回答了。两个问题:1)你所说的“草图之外”是什么意思(因为p5是关于构建单个草图的,它在这些草图之外没有真正有意义的行为)和2)这个值应该是可操作的“每个草图”还是应该是你在p5上设置的超全局值,那么每一个依赖它的草图都会受到影响吗?@Mike'Pomax'Kamermans我已经编辑了这个问题,包括了你提到的细节。此外,我认为问题与名称空间有关。我可以从草图中的setup()内部调用setMosaic,但不能从html页面中的标记调用setMosaic。当我尝试调用p5.setMosaic()时,它说p5没有定义。可能是我不知道的javascript细微差别。感谢传统请求:您是否有一个示例jsbin或其他东西,以便我们可以尝试为您更新代码?我找不到允许我添加多个js文件的服务。所以我在这里放了一个.zip:
`
p5.prototype._isMosaic = false;
p5.prototype.setMosaic = function(status){
this._isMosaic = status;
console.log('set worked');
};
`