《TypeScript图形渲染实战:2D架构设计与实现》 —3.2.8 将DOM Event事件转换为CanvasInpu
【摘要】 本节书摘来自华章计算机《TypeScript图形渲染实战:2D架构设计与实现》 一书中第3章,第3.2.8节,作者是步磊峰。
3.2.8 将DOM Event事件转换为CanvasInputEvent事件
使用了自己定义的CanvasInputEvent事件体系,因此需要将DOM Event事件转换为CanvasInputEvent对应的子类。具体代码如下:
// 将DOM Event对象信息转换为自己定义的CanvasMouseEvent事件
private _toCanvasMouseEvent ( evt : Event ) : CanvasMouseEvent {
// 向下转型,将Event转换为MouseEvent
let event : MouseEvent = evt as MouseEvent ;
// 将客户区的鼠标pos变换到Canvas坐标系中表示
let mousePosition : vec2 = this . _viewportToCanvasCoordinate ( event ) ;
// 将Event一些要用到的信息传递给CanvasMouseEvent并返回
let canvasMouseEvent : CanvasMouseEvent = new CanvasMouseEvent
( mousePosition , event . button , event . altKey , event . ctrlKey ,
event .shiftKey ) ;
return canvasMouseEvent ;
}
// 将DOM Event对象信息转换为自己定义的Keyboard事件
private _toCanvasKeyBoardEvent ( evt : Event ) : CanvasKeyBoardEvent {
let event : KeyboardEvent = evt as KeyboardEvent ;
// 将Event一些要用到的信息传递给CanvasKeyBoardEvent并返回
let canvasKeyboardEvent : CanvasKeyBoardEvent = new CanvasKeyBoardEvent
( event . key , event . keyCode , event . repeat , event . altKey , event .
ctrlKey , event . shiftKey ) ;
return canvasKeyboardEvent ;
}
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)