BlockDragger 类
用于拖动块的类。当通过鼠标或触摸拖动块时,它会在工作区中移动块。
Signature:
export declare class BlockDragger implements 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。 |