Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建一个简单的处理p5.js库_Javascript_Processing_P5.js - Fatal编程技术网

Javascript 创建一个简单的处理p5.js库

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文件:

`
<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');
  };
`