6

私は Paper.js が初めてで、チュートリアルを読んでいるときにイベント システムに疑問を感じました。チュートリアルで説明されているイベント処理方法は次のとおりです。

var path;
function onMouseDown(event) {
    // Create a path:
    path = new Path();
    path.strokeColor = 'black';
    // Add the mouse down position:
    path.add(event.point);
}

function onMouseUp(event) {
    // Add the mouse up position:
    path.add(event.point);
}

したがって、グローバル名前空間で機能するだけです...
最終的に、それについていくつか質問がありますが、これについてインターネット上で何も見つかりませんでした:
- イベントハンドラーを特定のキャンバスにバインドする方法は?
- イベント ハンドラーを特定の「オブジェクト」(ラスター イメージ、四角形など) にバインドする方法は?
- 複数のイベント ハンドラーを何かにバインドする方法は?

4

2 に答える 2

1

私は Paperjs を初めて使用しますが、次のように考えています。

  • イベントハンドラを特定のキャンバスにバインドする方法は?

キャンバスをスクリプトに指定すると、スコープは自動的にキャンバスに関連付けられます。

<script type="text/paperscript" src="js/myScript.js" canvas="myCanvas"></script>

このスクリプトの各命令は、このキャンバスに関連付けられます。

  • イベント ハンドラーを特定の「オブジェクト」(ラスター イメージ、四角形など) にバインドする方法は?

タイプに応じて、各「オブジェクト」には、使用可能なイベント ハンドラーのセットがあります。リファレンス ページには、各タイプのオブジェクトのすべてのイベント ハンドラが記載されています。

  • 複数のイベント ハンドラを何かにバインドする方法は?

たとえば、PathItem にはクリック イベントダブル クリック イベントがあります。

var path = new Path.Circle();

path.onClick = function(event) {
    this.fillColor = 'red';
}

path.onDoubleClick = function(event) {
    this.fillColor = 'green';
}
于 2013-11-05T14:31:55.537 に答える