blockly >屏蔽

屏蔽课程

一个块的类。通常不直接调用,建议使用 workspace.newBlock()。

Signature:

export declare class Block implements IASTNodeLocation 

实现IASTNodeLocation

构造函数

构造函数 修饰符 说明
(structor)(workspace, 原型名称, opt_id) 构造 Block 类的新实例

属性

属性 修饰符 类型 说明
childBlocks_ protected 本 []
collapsed_ protected 布尔值
COLLAPSED_FIELD_NAME

static

readonly

字符串 为展开前字段指定的中性语言 ID。
COLLAPSED_INPUT_NAME

static

readonly

字符串 为收起的输入内容指定的与语言无关的 ID。
colour_ protected 字符串 “#RRGGBB”中的块颜色格式。
撰写? (p1:禁播)=>无效 (可选)可选函数,用于根据更改器对话框的内容重新配置代码块。
contextMenu 布尔值
数据 字符串 |null 在块和 XML 之间往返的可选文本数据。没有任何影响。可以由第三方用于元信息。
分解? (p1:工作区)=>屏蔽 (可选)可选函数,用于使用此代码块的组件填充更改器的对话框。
销毁? () =>无效 (可选)处理期间调用的可选方法。
处理中 protected 布尔值 当前块目前正在处置中吗?
domToMutation? (p1:元素)=>无效 (可选)可选的反序列化方法,用于定义如何对 XML 中的变更状态进行反序列化。这必须与定义 mutationToDom 结合使用。
getDeveloperVariables? () =>字符串 [] (可选)用于声明开发者变量的可选属性。返回供生成器使用的变量名称列表。开发者变量绝不会向用户显示,但会在生成的代码中声明为全局变量。
帽子? 字符串 (可选)帽子类型的名称。
helpUrl 字符串 |函数 |null 块帮助的字符串或返回网址的函数。Null 表示无帮助。
图标 IIcon[]
id 字符串
初始化? () =>无效 (可选)在初始化期间调用的可选方法。
inputList 输入[]
inputsInline? 布尔值 (可选)
inputsInlineDefault? 布尔值 (可选)
isInFlyout 布尔值
isInMutator 布尔值
isInsertionMarker_ protected 布尔值 如果此块是插入标记,则为 true。
loadExtraState? (p1:任意)=>无效 (可选)可选的序列化方法,用于定义如何将块的额外状态(例如变更状态)从与 JSON 兼容的内容进行反序列化。这必须与定义 saveExtraState 结合使用。
mutationToDom? (...p1: any[]) =>元素 (可选)可选的序列化方法,用于定义如何将变更状态序列化为 XML 文件。这必须与定义 domToMutation 结合使用。
nextConnection 建立联系 |null
onchange? ((p1: Abstract) => void) |null (可选)每当代码块的父工作区发生更改时要使用的可选回调方法。这通常仅从构造函数、块类型 initializer 函数或扩展 initializer 函数调用。
outputConnection 建立联系 |null
outputShape_ protected 数字 |null
parentBlock_ protected 本次 |null
previousConnection 建立联系 |null
已呈现 readonly 布尔值 这段代码是 BlockSVG 吗?
RTL 布尔值
saveExtraState? (doFullSerialization?: boolean) =>任意 (可选)可选的序列化方法,用于定义如何将块的额外状态(例如变更状态)序列化为与 JSON 兼容的某种内容。这必须与定义 loadExtraState 结合使用。
styleName_ protected 字符串 屏蔽样式的名称。
suppressPrefixSuffix boolean |null 可选属性,用于禁止将 STATEMENT_PREFIX 和 STATEMENT_SUFFIX 添加到生成的代码。
提示 Tooltip.TipInfo
type 字符串
工作区 Google Workspace

方法

方法 修饰符 说明
addIcon(icon) 向砌块添加指定图标。
allInputsFilled(opt_shadowBlocksAreFilled) 以递归方式检查是否所有语句和值输入都填入了块。还会检查此堆栈中的所有后续语句块。
appendDummyInput(name) 附加一个虚拟输入行。
appendEndRowInput(name) 附加一个结束行的输入。
appendInput(input)

附加指定的输入行。

允许将自定义输入附加到代码块中。

appendStatementInput(name) 附加一个语句输入行。
appendValueInput(name) 附加一个值输入行。
bumpNeighbours() 将未连接的区块凸起,使其不对齐。两个实际并未连接的区块不应碰巧在屏幕上对齐。
dispose(healStack) 丢弃此块。
disposeInternal() protected 在不执行顶层代码块所需的操作的情况下丢弃此代码块。例如不会触发事件、拔下块等。
doInit_() protected 调用 init() 函数并处理关联的事件触发等。
getChildren(ordered) 找到直接嵌套在此模块中的所有代码块。包括值和语句输入,以及任何后续语句。不包括输出标签页或任何上述语句中的任何连接。您可以选择性地按位置对区块进行排序;从上到下
getColour() 获取砌块的颜色。
getCommentText() 返回此块的注释(如果没有注释,则返回 null)。
getDescendants(ordered) 查找直接或间接嵌套在此一个代码块中的所有代码块。在列表中添加此屏蔽设置。包括值和语句输入,以及任何以下语句。不包括输出标签页或任何前面的语句中的任何连接。您可以选择性地按位置对区块进行排序;从上到下
getDisabledReasons() 获取相应屏蔽设置目前被停用的一系列原因(如果有)。如果该屏蔽设置处于启用状态,此组将为空。
getField(name) 返回块中的已命名字段。
getFieldValue(name) 返回给定字段与语言无关的值。
getHue() 获取图块的 HSV 色调值。如果未设置色调,则为 null。
getIcon(type)
getIcons()
getInheritedDisabled() 了解屏蔽操作是否因家长原因而被停用。系统不会考虑区块自身的已停用属性。
getInput(name) 获取指定的输入对象。
getInputsInline() 获取值输入是水平排列还是垂直排列。
getInputTargetBlock(name) 获取附加到指定输入的块。
getInputWithBlock(block) 返回连接到指定块的输入。
getNextBlock() 返回与此块直接关联的下一个语句块。
getOutputShape() 获取代码块的输出形状。
getParent() 返回父块;如果此块位于顶层,则返回 null。父块可以是连接到前一个连接的块(对于语句块),也可以是连接到输出连接的块(对于值块)。
getPreviousBlock() 返回连接到上一个连接的块。
getRelativeToSurfaceXY() 返回此块左上角相对于绘图表面原点 (0,0) 的坐标,以工作区单位表示。
getRootBlock() 返回此代码块的树中最顶层的代码块。如果此屏蔽设置位于顶层,则会自行返回。
getStyleName() 获取砌块样式的名称。
getSurroundParent() 返回围绕当前块的父块,如果此块没有周围的块,则返回 null。父块可能只是前一个语句,而周围的块是 if 语句、while 循环等。
getTooltip() 返回此块的提示文本。
getVars() 返回此代码块引用的所有变量。
hasDisabledReason(reason) 了解屏蔽设置目前是否因所提供的原因而被停用。
hasIcon(type)
initModel() 对块上的所有字段调用 initModel。可以多次调用。必须在创建块之后、首次与其交互之前调用 initModel 或 initSvg。互动包括界面操作(例如点击和拖动)和触发事件(例如创建、删除和更改)。
isCollapsed() 了解砌块是否收起。
isDeletable() 获取此块是否可删除。
isDisposed() 返回该块是否已被处理 / 删除。
isDuplicatable() 获取块是否可复制。如果复制此代码块,其后代会将此代码块超出工作区的容量,则此代码块不可复制。如果复制此代码块,并且后代会将任何类型置于其 maxInstances 之上,则此代码块不可复制。
isEnabled() 了解此代码块是否已启用。如果某个屏蔽设置完全被停用,则该屏蔽设置会被视为已启用。即使用户尝试手动启用某项屏蔽设置,也可能会由于其他原因将其停用,例如当屏蔽设置位于无效位置时。
isInsertionMarker() 获取此块是否为插入标记块。
isOwnDeletable() 返回此块自身的可删除属性是 true 还是 false。
isOwnEditable() 返回此块自身的可修改属性是 true 还是 false。
isShadow() 获取此块是否为阴影块。
jsonInit(json) 使用跨平台、国际化的 JSON 说明初始化此代码块。
mixin(mixinObj, opt_disableCheck) 将 mixinObj 中的键/值添加到此块对象。默认情况下,此方法将检查 mixinObj 中的键不会覆盖块中的现有值,包括原型值。这样可以确保混合 / 扩展与未来的屏蔽功能不兼容。您可以传递 true 作为第二个参数,以停用这项检查。
moveBy(dx, dy, reason) 以相对偏移量移动块。
moveInputBefore(name, refName) 将已命名的输入内容移至此块中的其他位置。
moveNumberedInputBefore(inputIndex, refIndex) 将带编号的输入内容移至此块中的其他位置。
removeIcon(type) 从块中移除 getType 与给定类型 iconType 匹配的图标。
removeInput(name, opt_quiet) 从此块中移除输入内容。
renameVarById(oldId, newId) 关于变量正在重命名的通知。如果 ID 与此块的某个变量匹配,请重命名此 ID。
setCollapsed(collapsed) 设置是否收起图块。
setColour(colour) 更改砌块的颜色。
setCommentText(text) 设置此块的注释文字。
setDeletable(deletable) 设置此块是否可删除。
setDisabledReason(disabled, reason) 添加或移除导致屏蔽的可能原因。如果某个屏蔽设置出于任何原因被停用,则该屏蔽本身会被视为已停用。屏蔽规则可能同时由于多个独立的原因而被停用,例如当用户手动停用屏蔽规则或屏蔽设置无效时。
setEditable(editable) 设置此代码块是否可修改。
setEnabled(enabled)
setFieldValue(newValue, name) 为此块设置指定字段的值。
setHelpUrl(url) 设置此代码块的帮助页面的网址。
setInputsInline(newBoolean) 设置值输入是水平排列还是垂直排列。
setMovable(movable) 设置此块是否可移动。
setMutator(_mutator) 为此屏蔽设置更改器对话框。
setNextStatement(newBoolean, opt_check) 设置是否可以将此区块连上其他区块。
setOnChange(onchangeFn) 设置在块的父级工作区发生更改时使用的回调函数,用于替换之前的任何 onchange 处理程序。这通常仅从构造函数、块类型 initializer 函数或扩展 initializer 函数调用。
setOutput(newBoolean, opt_check) 设置此代码块是否会返回值。
setOutputShape(outputShape) 设置代码块的输出形状。
setPreviousStatement(newBoolean, opt_check) 设置是否可以将此区块连到另一个区块的底部。
setStyle(blockStyleName) 设置砌块的样式和颜色值。
setTooltip(newTip) 设置此块的提示。
setWarningText(_text, _opt_id) 设置此代码块的警告文字。
toDevString()

此方法会返回一个字符串,用于用开发者术语来说明此 Blocks(类型名称和 ID;仅限英语)。

应在控制台日志和错误中使用。如果您需要使用用户的母语的字符串(包括块文本、字段值和子块),请使用 [toString()]

toString(opt_maxLength, opt_emptyToken) 为该块及其任何子块创建人类可读的文本表示形式。
unplug(opt_healStack) 将这个代码块从其上级代码块中拔出。如果此块是语句,可以选择将下面的块与上面的块重新连接。