Paper.js 触发工具事件

Trigger tool event on Paper.js

我的应用使用 Paper.js 作为绘制元素的框架,我目前正在编写一些测试代码。

我需要手动触发工具事件,但出现“emit is not a function”错误。

我是这样做的:

tool.emit('mousedown', {
  point:  new Point(5, 5)
});

我的代码有什么问题?根据Paper.js documentation:

emit(type, event) Emit an event on the tool.

Parameters: type: String('mousedown'|'mouseup'|'mousedrag'|'mousemove'|'keydown'|'keyup') — the event type event: Object — an object literal containing properties describing the event Returns: Boolean — true if the event had listeners, false otherwise

如果我调试我的代码,工具是一个 Tool 对象,但 emit 不存在。

似乎 emit 不是在 Tool 对象上触发事件的正确函数。 Paper.js 没有记录 fire 函数(至少在较新的版本中)。

我的代码需要像这样才能工作:

tool.fire('mousedown', {
  point:  new Point(5, 5)
});