blockly >封鎖

封鎖課程

一個區塊的類別。通常不會直接呼叫,最好使用 workspace.newBlock()。

Signature:

export declare class Block implements IASTNodeLocation 

導入: IASTNodeLocation

建構函式

建構函式 修飾符 說明
(buildor)(workspace, prototypeName, opt_id) 建構 Block 類別的新例項

屬性

屬性 修飾符 類型 說明
childBlocks_ protected 本 []
collapsed_ protected 布林值
COLLAPSED_FIELD_NAME

static

readonly

字串 指定給收合欄位的語言中立 ID。
COLLAPSED_INPUT_NAME

static

readonly

字串 為收合輸入內容指定的語言中立 ID。
colour_ protected 字串 「#RRGGBB」方塊的顏色格式。
撰寫? (p1:封鎖) =>void (選用) 這個選用函式會根據變動器對話方塊的內容重新設定區塊。
contextMenu 布林值
資料 字串 |空值 選用的文字資料,可在區塊和 XML 之間來回往返。沒有影響 第三方可能會使用中繼資訊做為中繼資訊。
(p1:工作區) =>封鎖 (選用) 這個選用函式可將此區塊的元件填入變異器對話方塊。
() =>void (選用) 處置期間呼叫的選用方法。
丟棄 protected 布林值 目前的建塊是否正在處置?
domToMutation? (p1:元素) =>void (選用) 這個選填的反序列化方法,用於定義如何從 XML 將異動狀態還原序列化。這必須與定義 mutationToDom 結合。
getDeveloperVariables? () =>字串 [] (選用) 用於宣告開發人員變數的選用屬性。傳回變數名稱清單供產生器使用。開發人員變數一律不會看到,但在產生的程式碼中會宣告為全域變數。
帽子? 字串 (選填) 帽子類型的名稱。
helpUrl 字串 |函式 |空值 區塊說明字串,或會傳回網址的函式。空值不會獲得協助。
圖示 IIcon[]
id 字串
() =>void (選用) 初始化期間呼叫的選用方法。
inputList 輸入內容[]
inputsInline? 布林值 (選用)
inputsInlineDefault? 布林值 (選用)
isInFlyout 布林值
isInMutator 布林值
isInsertionMarker_ protected 布林值 如果這個區塊是插入標記,則為 True。
loadExtraState? (p1:任何) =>void (選用) 選用的序列化方法,可定義如何從與 JSON 相容的內容,將區塊的額外狀態 (例如異動狀態) 還原序列化。這必須與定義 saveExtraState 結合。
mutationToDom? (...p1: any[]) =>元素 (選用) 這個選填的序列化方法,可定義如何將異動狀態序列化為 XML。這必須與定義 domToMutation 結合。
nextConnection 連繫 |空值
(p1:抽象) => 無效空值 (選用) 每當區塊的父項工作區變更時,系統就能選用的回呼方法。通常只會透過建構函式、區塊類型初始化函式或擴充功能初始化函式呼叫。
outputConnection 連繫 |空值
outputShape_ protected 數字 |空值
parentBlock_ protected 這份 |空值
previousConnection 連繫 |空值
算繪 readonly 布林值 這個區塊是封鎖可擴充向量圖形 (SVG) 嗎?
RTL 布林值
saveExtraState? (doFullSerialization?: boolean) =>任何 (選用) 選用的序列化方法,可定義如何將區塊的額外狀態 (如變動狀態) 序列化到與 JSON 相容的內容。這必須與定義 loadExtraState 結合。
styleName_ protected 字串 區塊樣式名稱。
suppressPrefixSuffix boolean |空值 非必要屬性,用於在產生的程式碼中抑制將 STATEMENT_PREFIX 和 STATEMENT_SUFFIX。
工具提示 Tooltip.TipInfo
類型 字串
工作區 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 色調值。如未設定 hue,則為空值。
getIcon(type)
getIcons()
getInheritedDisabled() 確認封鎖條件是否因家長停用而遭到停用。系統不會考慮封鎖本身的停用屬性。
getInput(name) 擷取指定的輸入物件。
getInputsInline() 取得輸入的值是否水平或垂直排列。
getInputTargetBlock(name) 擷取附加至已命名輸入內容的區塊。
getInputWithBlock(block) 傳回連線至指定區塊的輸入內容。
getNextBlock() 傳回直接連結到這個區塊的下一個陳述式區塊。
getOutputShape() 取得區塊的輸出內容形狀。
getParent() 如果這個區塊位於頂層,則傳回父項區塊或空值。父項區塊是與先前連線 (陳述式區塊) 連接的區塊,或是連接至輸出連線的區塊 (用於值區塊)。
getPreviousBlock() 傳回與先前連線相連結的區塊。
getRelativeToSurfaceXY() 以工作區單位傳回這個區塊左上角的座標 (以 0,0 為基準)。
getRootBlock() 傳回這個區塊樹狀結構中最頂層的區塊。如果這個區塊位於頂層,系統會傳回本身。
getStyleName() 取得區塊樣式名稱。
getSurroundParent() 傳回位於目前區塊周圍的父項區塊,如果這個區塊沒有周圍區塊,則傳回空值。父項區塊可能只是前一個陳述式,而周圍區塊則是 if 陳述式、而迴圈等。
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 處理常式。通常只會透過建構函式、區塊類型初始化函式或擴充功能初始化函式呼叫。
setOutput(newBoolean, opt_check) 設定這個區塊是否傳回值。
setOutputShape(outputShape) 設定區塊的輸出形狀。
setPreviousStatement(newBoolean, opt_check) 設定這個區塊是否可鏈結至另一個區塊的底部。
setStyle(blockStyleName) 設定區塊的樣式和顏色值。
setTooltip(newTip) 設定這個區塊的工具提示。
setWarningText(_text, _opt_id) 設定這個區塊的警告文字。
toDevString()

這個方法會傳回開發人員條款中描述這個區塊的字串 (類型名稱和 ID;僅提供英文版)。

適合用於控制台記錄和錯誤。如果您需要的字串採用使用者母語 (包括區塊文字、欄位值和子區塊),請使用 [toString()]

toString(opt_maxLength, opt_emptyToken) 為這個區塊和任何子項建立使用者可理解的文字表示法。
unplug(opt_healStack) 將這個方塊拔掉。如果這個區塊是聲明,您也可以選擇將下方的區塊與頂層區塊重新連結。