模拟交互 
可用于自动化测试、回放用户操作,以及你能想到的...
像操控交互设备一样,与应用进行交互,自动触发其他复合事件,如 pointerDown 之后 pointerUp 触发 tap 事件, pointerDown 之后 pointerMove 触发 drag 事件。
如果只是想简单的触发一个交互事件,可以使用元素的 emit() 方法。
关键方法 
所有的模拟方法在 leafer.interaction 实例上。
pointerDown ( data: IPointerEvent ) 
按下指针。
pointerMove ( data: IPointerEvent ) 
移动指针。
pointerUp ( data?: IPointerEvent ) 
抬起指针。
zoom ( data: IZoomEvent ) 
缩放操作。
move ( data: IMoveEvent ) 
平移操作。
rotate ( data: IRotateEvent ) 
旋转操作。
示例 
模拟点击 
依次模拟鼠标点击左键、中建、右键, 将会自动触发一次 tap 事件
ts
import { Leafer, Rect, PointerButton, PointerEvent } from 'leafer-ui'
const leafer = new Leafer({ view: window })
const rect = new Rect({ x: 100, y: 100, width: 200, height: 200, fill: '#32cd79' })
leafer.add(rect)
rect.on(PointerEvent.DOWN, (e) => {
    console.log('down', e)
})
rect.on(PointerEvent.TAP, (e) => {
    console.log('tap', e)
})
const { interaction } = leafer
leafer.waitReady(() => { 
模拟 drag 事件 
ts
import { Leafer, Rect, DragEvent } from 'leafer-ui'
const leafer = new Leafer({ view: window })
const rect = new Rect({ x: 100, y: 100, width: 200, height: 200, fill: '#32cd79', draggable: true })
leafer.add(rect)
rect.on(DragEvent.DRAG, (e) => {
    console.log('drag', e)
})
const { interaction } = leafer
leafer.waitReady(() => { 
模拟缩放 
ts
import { Leafer, Rect, ZoomEvent } from 'leafer-ui'
const leafer = new Leafer({ view: window })
const rect = new Rect({ x: 100, y: 100, width: 200, height: 200, fill: '#32cd79' })
leafer.add(rect)
rect.on(ZoomEvent.ZOOM, (e) => {
    console.log('zoom', e)
})
const { interaction } = leafer
leafer.waitReady(() => {  
模拟平移 
ts
import { Leafer, Rect, MoveEvent } from 'leafer-ui'
const leafer = new Leafer({ view: window })
const rect = new Rect({ x: 100, y: 100, width: 200, height: 200, fill: '#32cd79' })
leafer.add(rect)
rect.on(MoveEvent.MOVE, (e) => {
    console.log('move', e)
})
const { interaction } = leafer
leafer.waitReady(() => {  
模拟旋转 
ts
import { Leafer, Rect, RotateEvent } from 'leafer-ui'
const leafer = new Leafer({ view: window })
const rect = new Rect({ x: 100, y: 100, width: 200, height: 200, fill: '#32cd79' })
leafer.add(rect)
rect.on(RotateEvent.ROTATE, (e: RotateEvent) => {
    rect.rotation += e.rotation
    console.log('rotate', e)
})
const { interaction } = leafer
leafer.waitReady(() => {