基于HTML5 自定义编辑器

本文通过一个实例介绍了如何基于HTML5扩展编辑器,核心在于交互设计。文章详细讲解了HT for Web提供的交互器,如DefaultInteractor、SelectInteractor等,并展示了如何创建自定义交互器selectCreateNodeInteractor,监听鼠标和触摸事件来生成图元。此外,还讨论了工具条组件的使用,包括按钮、图标和action属性。通过这种方式,读者可以构建出满足个性化需求的编辑器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在上次的文章中,提到场景图是基于这个麻雀虽小五脏俱全的“HTML5 拓扑编辑器”(http://www.hightopo.com/demo/2deditor_20151010/HT-2D-Editor.html)和“矢量编辑器”(http://www.hightopo.com/demo/vector-editor/index.html)进行扩展出满足我需求的拓扑编辑器,看到这里,大家或许对怎么扩展编辑器有疑问,所以,今天就以一个例子介绍编辑器的扩展,先附上Demohttp://www.hightopo.com/demo/blog_fram_20170620/index.html



在这个 Demo 中,用户点击工具条上的元素后,在下方画布中拖动鼠标可以生成相应的图元,多种元素自由组合可以做个简易的农场。素材均是网上搜索 png 格式的图片,当然,若是觉得农场无趣,大可替换成其他脑洞大开的场景,总之,任你玩~

                                   

言归正传,分析 Demo 可得这个例子的核心在于交互这一块:

GraphView 默认内置了一些交互器,以实现基本的选择、单双击,缩放、平移和编辑等交互功能,内置的交互器有:

    1、Interactor 交互器基类, 提供了基础功能函数,如交互事件的派发、监听函数添加和清除,拖拽操作封装, 自动平移滚动等功能;

    2、DefaultInteractor 实现 Group、Edge 和 SubGraph 图元的默认双击响应,手抓图平移,滚轮缩放,键盘响应等功能;

    3、SelectInteractor 实现图元单选和框选功能。默认拖动背景是平移,按 Ctrl 键可以进行框选(Mac 下为 Command键);

    4、MoveInteractor 实现被选中图元的移动功能;

    5、EditInteractor 实现对图元的大小改变和角度旋转, 以及 Shape 和 Edge 类型图元的多点编辑等功能;

    6、TouchInteractor 实现移动设备上的 Touch 交互功能;

    7、ScrollBarInteractor 实现滚动条的显示和交互功能。

    可通过 GraphView#setInteractor(list)组合这些交互器,用户也可基于 Interactor 扩展自己的交互器(详情见 HT for Web 入门手册),我们便是通过 Interactor 进行扩展得自己的交互器 selectCreateNodeInteractor,在 HT 中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值