0

単純なライブラリを作成しようとしていたところ、問題が発生しました。これは私の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>
`

mosaic.js は私が作成しているライブラリです。

mosaic.js の内容は次のとおりです。

`
p5.prototype._isMosaic = false;
p5.prototype.setMosaic = function(status){
    this._isMosaic = status;
    console.log('set worked');
  };
`

HTMLファイルに示されているように、内部からsetMosaicを呼び出すと、関数が定義されていないというエラーが表示されます。しかし、sketch.js の setup() または draw() 内から setMosaic() を正常に呼び出すことができます。/src/environment/environment.js で setMosaic を定義し、p5.js を再度ビルドすると、スケッチの外部から setMosaic を呼び出すことができます。

スケッチの外から setMosaic を呼び出す方法はありますか?

編集(コメントに応じて):

1) スケッチを複数の画面に拡大できるフレームワークを構築しようとしています。したがって、スケッチを書く人は通常の方法でそれを行う必要がありますが、私のツールはサーバーなどと通信するいくつかの関数を呼び出すので、これらの関数をスケッチの外で呼び出す必要がありますが、それらは p5 オブジェクトにバインドする必要があります (名前空間) 私が書く関数は、p5js 内部のいくつかの関数を呼び出さなければならないからです。これは私のプロジェクトです。

2) スケッチごとに値が影響を受けます。

4

1 に答える 1

0

この問題は、setMosaic を p5.prototype.setMosaic() として呼び出すことで解決されました。ここで答えられました。

于 2015-03-16T17:46:44.060 に答える