Skip to content

@jtopo/core / InputSystem

Class: InputSystem

输入系统(管理鼠标或触摸信息和状态)

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new InputSystem(stage)

Parameters

NameType
stageStage

Overrides

EventTarget.constructor

Properties

button

button: number = 0


buttons

buttons: number = 0


dropTarget

Optional dropTarget: NE

当前拖拽时的目标对象


dx

dx: number

相对于上一次鼠标或指针x的移动增量(canvas坐标系)


dxInWorld

dxInWorld: number

世界坐标系下的x坐标增量


dy

dy: number

相对于上一次鼠标或指针y的移动增量(canvas坐标系)


dyInWorld

dyInWorld: number

世界坐标系下的y坐标增量


event

event: TouchEvent | PointerEvent

原始的事件对象


idleTimeout

idleTimeout: number = 50

鼠标或指针空闲时间, 50毫秒内没有动作时认为空闲


isDragEnd

isDragEnd: boolean = false

状态: 是否拖拽结束


isDragStart

isDragStart: boolean = false

状态: 是否拖拽的开始


isDraging

isDraging: boolean = false

状态: 是否在拖拽中


isIdle

isIdle: boolean

状态: 鼠标或指针是否空闲


isPointerDown

isPointerDown: boolean = false

鼠标或指针是否按下


isPointerOn

isPointerOn: boolean = false

状态: 鼠标或指针是否在画布上


isRightButton

isRightButton: boolean = false

是否右键 (鼠标设备时)


mouseoverTarget

Optional mouseoverTarget: NE

当前鼠标指向的对象


pointerDownX

pointerDownX: number = 0

鼠标按下时的坐标(canvas坐标)


pointerDownY

pointerDownY: number = 0

鼠标松开时的坐标(canvas坐标)


preMouseoverTarget

Optional preMouseoverTarget: NE

上一次鼠标指向的对象


preTarget

Optional preTarget: NE

上一次鼠标选中的对象


previous

previous: Object

上一次事件的状态记录

Type declaration

NameType
typestring
xnumber
ynumber
dxnumber
dynumber
xInWorldnumber
yInWorldnumber
dxInWorldnumber
dyInWorldnumber
isDragingboolean
isPointDownboolean
isPointerOnboolean
isDragStartboolean
isDragEndboolean
timeStampnumber

skipPointerMovePicking

skipPointerMovePicking: boolean = false

忽略一些事件 来提高性能、降低能耗

图元对象不再触发和响应 pointermove、pointerenter、pointerout事件


target

Optional target: NE

当前鼠标选中的对象


type

type: "touchmove" | "pointerdown" | "pointerup" | "pointermove" | "pointerenter" | "pointerout" | "click" | "dblclick" | "dragend" | "drop" | "dragover" | "dragstart" | "touchend" | "touchstart" | "wheel"


x

x: number = -1

鼠标或指针的屏幕坐标x(canvas左上角为0,0)


xInWorld

xInWorld: number

鼠标或指针在世界坐标系下的x坐标


y

y: number = -1

鼠标或指针的屏幕坐标y(canvas左上角为0,0)


yInWorld

yInWorld: number

鼠标或指针在世界坐标系下的y坐标

Methods

addEventListener

addEventListener(type, callback): void

增加事件监听

Parameters

NameTypeDescription
type"touchmove" | "pointerdown" | "pointerup" | "pointermove" | "pointerenter" | "pointerout" | "click" | "dblclick" | "dragend" | "drop" | "dragover" | "dragstart" | "touchend" | "touchstart" | "wheel"事件类型
callbackFunction

Returns

void

Overrides

EventTarget.addEventListener


dispatchEvent

dispatchEvent(event): void

分发事件

Parameters

NameType
eventEvent | EventBase

Returns

void

Inherited from

EventTarget.dispatchEvent


hasListener

hasListener(type): boolean

是否有该类型的监听

Parameters

NameType
type"touchmove" | "pointerdown" | "pointerup" | "pointermove" | "pointerenter" | "pointerout" | "click" | "dblclick" | "dragend" | "drop" | "dragover" | "dragstart" | "touchend" | "touchstart" | "wheel"

Returns

boolean

Overrides

EventTarget.hasListener


preventDefault

preventDefault(): void

Deprecated

Returns

void


removeEventListener

removeEventListener(type, callback): any

移除一个事件监听

Parameters

NameType
typestring
callbackFunction

Returns

any

Inherited from

EventTarget.removeEventListener