我想干掉这段代码:
@$canvas.on 'mousemove', (e) =>
return unless @running
@mouseTarget.set @board.x + e.clientX, @board.y + e.clientY * 2
@player?.mouseMove()
@$canvas.on 'mousedown', (e) =>
return unless @running
@mouseTarget.set @board.x + e.clientX, @board.y + e.clientY * 2
@player?.mouseDown()
@$canvas.on 'mouseup', (e) =>
return unless @running
@mouseTarget.set @board.x + e.clientX, @board.y + e.clientY * 2
@player?.mouseUp()
我想要一些效果:
@$canvas.on 'mousemove', 'mousedown', 'mouseup' -> @mouseAction
mouseAction: (e) =>
return unless @running
@mouseTarget.set @board.x + e.clientX, @board.y + e.clientY * 2
@player?.mouseUp() # here is the problem...
问题是,我如何在保持 DRY 代码@player?.mouseUp()
的@player?.mouseDown()
同时交替使用?@player?.mouseMove()