blockly > 事件 > BlockMove

Events.BlockMove 类

在移动某个代码块时通知监听器。这可以是从一个连接到另一个连接,也可以是从工作区的一个位置到另一个位置。

Signature:

export declare class BlockMove extends BlockBase 

扩展BlockBase

构造函数

构造函数 修饰符 说明
(constructor)(opt_block) 构造 BlockMove 类的新实例

属性

属性 修饰符 类型 说明
newCoordinate? 坐标 (可选)如果该功能块是顶级功能块,则为该功能块的新 X 和 Y 工作区坐标。如果不是顶级块,则为未定义。
newInputName? 字符串 (可选)新输入的名称。如果是顶级块或父级的下一个块,则为未定义。
newParentId 字符串 (可选)新父级分块的 ID。如果是顶级块,则未定义。
oldCoordinate? 坐标 (可选)如果该块是顶级块,则该块的旧 X 和 Y 工作区坐标。如果不是顶级代码块,则为未定义。
oldInputName? 字符串 (可选)旧输入的名称。如果是顶级块或父级的下一个块,则为未定义。
oldParentId 字符串 (可选)旧父级分块的 ID。如果是顶级代码块,则为未定义。
原因? 字符串[] (可选)说明此移除操作的用途。已知值包括:'drag' - 拖动操作已完成。“bump”- 由于连接无效,块被移除。“snap”- 块已移位以与网格对齐。“inbounds”- 内容块被推回到不可滚动的工作区。“connect”- 块已连接到另一个块。“disconnect”- 某个分块与另一个分块断开连接。'create' - 通过 XML 创建的代码块。“cleanup”- 工作区对齐的顶级代码块。事件合并可能会产生多种原因:['drag', 'bump', 'snap']。
type EventType

方法

方法 修饰符 说明
isNull() 此事件是否会记录任何状态更改?
recordNew() 记录分块的新位置。在移动后调用。
run(forward) 运行移动事件。
setReason(reason) 设置移动事件的原因。
toJson() 将事件编码为 JSON。