blockly > BlockDragger

BlockDragger 类

用于拖动块的类。当通过鼠标或触摸拖动块时,它会在工作区中移动块。

Signature:

export declare class BlockDragger implements IBlockDragger 

实现IBlockDragger

构造函数

构造函数 修饰符 说明
(构造函数)(块、工作区) 构造 BlockDragger 类的新实例

属性

媒体资源 修饰符 类型 说明
connectionPreviewer protected IConnectionPreviewer
draggingBlock_ protected BlockSvg 正在拖动的堆栈中的顶部代码块。
dragIconData_ protected IconPositionData[]
startXY_ protected 坐标
workspace_ protected WorkspaceSvg 块所在的工作区。
wouldDeleteBlock_ protected boolean 如果立即丢弃该方块,是否会被删除。

方法

方法 修饰符 说明
disconnectBlock_(healStack, currentDragDeltaXY) protected 解除与方块的关联,并将其移动到新位置。
drag(e, delta) 根据给定事件执行块拖动步骤。相应地更新显示内容。
dragIcons_() protected 移动与该拖动操作相关联的所有图标。
endDrag(e, currentDragDeltaXY) 完成块拖动,并将块放回工作区中。
fireDragEndEvent_() protected 在方块拖动结束时触发界面事件。
fireDragStartEvent_() protected 在开始拖动块时触发界面事件。
fireMoveEvent_() protected 在方块拖动结束时触发移动事件。
getInsertionMarkers() 获取当前存在的插入标记的列表。拖动操作有 0 个、1 个或 2 个插入标记。
getNewLocationAfterDrag_(currentDragDeltaXY) protected 计算拖动块后的拖动增量和新位置值。
maybeDeleteBlock_() protected 如果允许,可以删除拖动块。如果 this.wouldDeleteBlock_ 不为 true,相应屏蔽设置将不会被删除。应在拖动块结束时调用此函数。
pixelsToWorkspaceUnits_(pixelCoord) protected 将坐标对象从像素转换为工作区单位,包括更正更改器工作区。此函数不会考虑不同的源站。它只是缩放输入的 x 值和 y 值。
shouldDisconnect_(healStack) protected 拖动开始后是否应断开木块的连接。
startDrag(currentDragDeltaXY, healStack) 开始拖动砌块。
updateBlockAfterMove_() protected 更新有关在特定位置放置屏蔽规则的必要信息。
updateCursorDuringBlockDrag_() protected 更新光标(可能还有垃圾桶盖),以反映拖动块如果立即释放是否会被删除。
updateToolboxStyle_(isEnd) protected 添加或移除工具箱的光标样式。此元素会将可删除的块悬停在工具箱上方时,将光标更改为显示 x。