框选或者ctrl+鼠标左键选中多个组件之后的坐标不是很好处理,由于这个功能我是使用的moveable,有些功能我不能自由发挥,所以暂时就不做 多个组件选中并操作的时候的坐标和角度变更了。
另外,在测试中,这个项目在Google浏览器,Edge浏览器,Arc浏览器行为正常,Firefox浏览器,Safari浏览器行为不正常。
为了最好的使用体验,建议使用上面三种测试正常的浏览器。
先完成这部分
- 画布拖拽与缩放
- 拖拽旋转和缩放组件
- 等比缩放
- 坐标展示
- 组件分组以及坐标计算
- 复制粘贴快捷键
- 上下左右移动控件的快捷键
- 框选功能
- 撤销重做
- 删除组件
- 锁定组件 解锁组件
- 锁定的快捷键
- 简易预览页面
- 简单的截图功能【html2canvas的基本使用】
- 组件上一层下一层功能
当前支持的快捷键
- 画布拖拽
SHIFT + 鼠标左键
- 画布缩放
CTRL + 鼠标滚轮
- 多选
CTRL + 鼠标左键
- 复制粘贴
CTRL + c / v
- 上下左右
⬆️ ⬅️ ⬇️ ➡️
- 删除
DEL
- 撤销重做
CTRL + z / y
- 组件锁定与解锁
CTRL + l / o
当前的组件
- 梅花生长动画
- 基础版本扫雷
- 生命游戏【元胞自动机】
- 疫情感染模型【元胞自动机 模型规则来自CHATGPT】
更多组件建造中......
由于是第一个vue3+ts项目,这个仓库中的hooks、页面结构和ts类型的使用都有缺陷。
这里面hooks实现了一个比较简单的虚拟滚动,效果不好,没有真正实现减少dom渲染。 关于虚拟滚动的完整实现,我写在了另一个项目 seemrcola/notui 里面