blockly > Block

คลาสบล็อก

ชั้นเรียนสำหรับ 1 ช่วง ปกติแล้วจะไม่เรียกใช้โดยตรง แต่ควรใช้ workspace.newBlock()

ลายเซ็น:

export declare class Block 

ผู้ผลิต

ผู้ผลิต คีย์ตัวปรับแต่ง คำอธิบาย
(constructor)(workspace, prototypeName, opt_id) สร้างอินสแตนซ์ใหม่ของคลาส Block

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ คีย์ตัวปรับแต่ง ประเภท คำอธิบาย
childBlocks_ protected this[]
collapsed_ protected บูลีน
COLLAPSED_FIELD_NAME

static

readonly

สตริง รหัสที่เป็นกลางทางภาษาซึ่งกำหนดให้กับช่องที่ยุบ
COLLAPSED_INPUT_NAME

static

readonly

สตริง รหัสที่เป็นกลางทางภาษาซึ่งกำหนดให้กับอินพุตแบบยุบ
colour_ protected สตริง สีของบล็อกในรูปแบบ "#RRGGBB"
compose? (rootBlock: Block) => void (ไม่บังคับ) เมธอดที่ไม่บังคับซึ่งจะกำหนดค่าบล็อกใหม่ตามเนื้อหาของกล่องโต้ตอบตัวเปลี่ยนรูปแบบ
contextMenu บูลีน
data string | null ข้อมูลข้อความที่ไม่บังคับซึ่งส่งไปมาระหว่างบล็อกกับ XML ไม่มีผล บุคคลที่สามอาจใช้เพื่อเก็บข้อมูลเมตา
decompose? (workspace: Workspace) => Block (ไม่บังคับ) ฟังก์ชันที่ไม่บังคับซึ่งจะป้อนข้อมูลในเมนูแบบเลื่อนลงของตัวแปรด้วยบล็อกที่แสดงถึงการกำหนดค่าของบล็อกนี้
ทำลาย () => void (ไม่บังคับ) วิธีการที่ไม่บังคับซึ่งเรียกใช้ระหว่างการกำจัด
disposing protected บูลีน บล็อกปัจจุบันอยู่ระหว่างการกำจัดหรือไม่
domToMutation? (p1: Element) => void (ไม่บังคับ) วิธีการแปลงข้อมูลแบบไม่ใช้ซีเรียล (Deserialization) ที่ไม่บังคับสําหรับกําหนดวิธีแปลงข้อมูลสถานะการกลายพันธุ์จาก XML ซึ่งต้องควบคู่ไปกับการกำหนด mutationToDom
getDeveloperVariables? () => string[] (ไม่บังคับ) เมธอดที่ไม่บังคับสำหรับการประกาศตัวแปรของนักพัฒนาซอฟต์แวร์เพื่อใช้โดยเครื่องมือสร้าง ตัวแปรของนักพัฒนาแอปจะไม่แสดงต่อผู้ใช้ แต่จะมีการประกาศเป็นตัวแปรส่วนกลางในโค้ดที่สร้างขึ้น
หมวก สตริง (ไม่บังคับ) ชื่อประเภทหมวก
helpUrl string | (() => string) | null สตริงสําหรับความช่วยเหลือเกี่ยวกับบล็อก หรือฟังก์ชันที่แสดงผล URL 0 หมายถึงไม่ช่วย
ไอคอน IIcon[]
id สตริง
init? () => void (ไม่บังคับ) เมธอดที่ไม่บังคับซึ่งเรียกใช้ระหว่างการเริ่มต้น
inputList Input[]
inputsInline? บูลีน (ไม่บังคับ)
inputsInlineDefault? บูลีน (ไม่บังคับ)
isInFlyout บูลีน
isInMutator บูลีน
isInsertionMarker_ protected บูลีน เป็นจริงหากบล็อกนี้เป็นเครื่องหมายการแทรก
loadExtraState? (p1: any) => void (ไม่บังคับ) วิธีการแยกวิเคราะห์แบบไม่บังคับสำหรับการกำหนดวิธีแยกวิเคราะห์สถานะเพิ่มเติมของบล็อก (เช่น สถานะการกลายพันธุ์) จากสิ่งที่เข้ากันได้กับ JSON ซึ่งต้องควบคู่ไปกับการกำหนด saveExtraState
mutationToDom? (...p1: any[]) => Element (ไม่บังคับ) วิธีการจัดรูปแบบที่ไม่บังคับสำหรับการกำหนดวิธีจัดรูปแบบสถานะการกลายพันธุ์เป็น XML ซึ่งต้องควบคู่ไปกับการกำหนด domToMutation
nextConnection การเชื่อมต่อ | null
onchange? ((p1: Abstract) => void) | null (ไม่บังคับ) เมธอดการเรียกกลับที่ไม่บังคับสำหรับใช้เมื่อใดก็ตามที่เวิร์กスペースหลักของบล็อกมีการเปลี่ยนแปลง โดยปกติแล้ว ฟังก์ชันนี้จะเรียกใช้จากตัวสร้าง ฟังก์ชันตัวเริ่มต้นประเภทบล็อก หรือฟังก์ชันตัวเริ่มต้นของส่วนขยายเท่านั้น
outputConnection การเชื่อมต่อ | null
outputShape_ protected number | null
parentBlock_ protected this | null
previousConnection การเชื่อมต่อ | null
rendered readonly บูลีน บล็อกนี้เป็น BlockSVG ใช่ไหม
RTL บูลีน
saveExtraState? (doFullSerialization?: boolean) => any (ไม่บังคับ) วิธีการจัดรูปแบบที่ไม่บังคับสำหรับการกำหนดวิธีจัดรูปแบบสถานะเพิ่มเติมของบล็อก (เช่น สถานะการกลายพันธุ์) ให้เป็นรูปแบบที่เข้ากันได้กับ JSON ซึ่งต้องควบคู่ไปกับการกำหนด loadExtraState
styleName_ protected สตริง ชื่อของรูปแบบบล็อก
suppressPrefixSuffix boolean | null พร็อพเพอร์ตี้ที่ไม่บังคับสําหรับการระงับการเพิ่ม STATEMENT_PREFIX และ STATEMENT_SUFFIX ลงในโค้ดที่สร้างขึ้น
tooltip Tooltip.TipInfo
type สตริง
workspace Workspace

เมธอด

วิธีการ คีย์ตัวปรับแต่ง คำอธิบาย
addIcon(icon) เพิ่มไอคอนที่ระบุลงในบล็อก
allInputsFilled(opt_shadowBlocksAreFilled) ตรวจสอบแบบย้อนกลับว่าอินพุตคำสั่งและค่าทั้งหมดมีการป้อนบล็อกหรือไม่ รวมถึงตรวจสอบบล็อกคำสั่งทั้งหมดที่ตามมาในกองนี้ด้วย
appendDummyInput(name) เพิ่มแถวอินพุตจำลองต่อท้าย
appendEndRowInput(name) ต่อท้ายอินพุตที่สิ้นสุดแถว
appendInput(input)

ต่อท้ายแถวอินพุตที่ระบุ

อนุญาตให้เพิ่มอินพุตที่กำหนดเองต่อท้ายบล็อก

appendStatementInput(name) ต่อท้ายแถวอินพุตคำสั่ง
appendValueInput(name) ต่อท้ายแถวป้อนค่า
bumpNeighbours() เลื่อนบล็อกที่ไม่ได้เชื่อมต่อให้ไม่อยู่ในแนว บล็อก 2 บล็อกที่ไม่ได้เชื่อมต่อกันจริงไม่ควรจะวางซ้อนกันบนหน้าจอโดยบังเอิญ
dispose(healStack) ทิ้งบล็อกนี้
disposeInternal() protected กำจัดบล็อกนี้โดยไม่ทำสิ่งที่บล็อกด้านบนกำหนด เช่น ไม่ทริกเกอร์เหตุการณ์ ถอดปลั๊กบล็อก ฯลฯ
doInit_() protected เรียกใช้ฟังก์ชัน init() และจัดการการเรียกเหตุการณ์ที่เกี่ยวข้อง เป็นต้น
getChildren(ordered) ค้นหาบล็อกทั้งหมดที่ฝังอยู่ภายในบล็อกนี้โดยตรง รวมถึงอินพุตค่าและคำสั่ง รวมถึงคำสั่งใดๆ ที่ตามมา ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือคำสั่งก่อนหน้า คุณจัดเรียงบล็อกตามตำแหน่งจากบนลงล่างได้
getColour() รับสีของบล็อก
getCommentText() แสดงผลความคิดเห็นในบล็อกนี้ (หรือ Null หากไม่มีความคิดเห็น)
getDescendants(ordered) ค้นหาบล็อกทั้งหมดที่ฝังอยู่ภายในบล็อกนี้โดยตรงหรือโดยอ้อม รวมบล็อกนี้ไว้ในรายการ รวมถึงอินพุตค่าและคำสั่ง รวมถึงคำสั่งใดๆ ที่ตามมา ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือคำสั่งก่อนหน้า คุณจัดเรียงบล็อกตามตำแหน่งจากบนลงล่างได้
getDisabledReasons() ดูชุดเหตุผลที่บล็อกถูกปิดใช้อยู่ หากมี หากเปิดใช้บล็อก ชุดนี้จะว่างเปล่า
getField(name) แสดงผลช่องที่มีชื่อจากบล็อก
getFields()

ส่งคืนเครื่องมือสร้างที่ให้ทุกช่องในบล็อก

เครื่องมือสร้างที่ใช้เพื่อวนซ้ำช่องในบล็อก

getFieldValue(name) แสดงผลค่าที่เป็นกลางทางภาษาของช่องที่ระบุ
getHue() รับค่าสี HSV ของบล็อก Null หากไม่ได้ตั้งค่าสี
getIcon(type)
getIcons()
getInheritedDisabled() ดูว่าบล็อกถูกปิดใช้หรือไม่เนื่องจากผู้ปกครอง ระบบจะไม่พิจารณาพร็อพเพอร์ตี้ที่ปิดใช้ของบล็อกเอง
getInput(name) ดึงข้อมูลออบเจ็กต์อินพุตที่มีชื่อ
getInputsInline() ดูว่าอินพุตค่าจัดเรียงในแนวนอนหรือแนวตั้ง
getInputTargetBlock(name) ดึงข้อมูลบล็อกที่แนบมากับอินพุตที่มีชื่อ
getInputWithBlock(block) แสดงผลอินพุตที่เชื่อมต่อกับบล็อกที่ระบุ
getNextBlock() แสดงบล็อกคำสั่งถัดไปที่เชื่อมต่อกับบล็อกนี้โดยตรง
getOutputShape() รับรูปร่างเอาต์พุตของบล็อก
getParent() แสดงบล็อกหลักหรือค่าว่างหากบล็อกนี้อยู่ในระดับบนสุด บล็อกหลักคือบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า (สําหรับบล็อกคำสั่ง) หรือบล็อกที่เชื่อมต่อกับการเชื่อมต่อเอาต์พุต (สําหรับบล็อกค่า)
getPreviousBlock() แสดงผลบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า
getRelativeToSurfaceXY() แสดงผลพิกัดของมุมซ้ายบนของบล็อกนี้ซึ่งสัมพันธ์กับจุดเริ่มต้น (0,0) ของพื้นวาดเป็นหน่วยของพื้นที่ทำงาน
getRootBlock() แสดงผลบล็อกบนสุดในต้นไม้ของบล็อกนี้ ซึ่งจะแสดงผลเองหากบล็อกนี้อยู่ระดับบนสุด
getStyleName() รับชื่อของสไตล์บล็อก
getSurroundParent() แสดงบล็อกหลักที่อยู่รอบๆ บล็อกปัจจุบัน หรือแสดงค่าว่างหากบล็อกนี้ไม่มีบล็อกที่อยู่รอบๆ บล็อกหลักอาจเป็นคำสั่งก่อนหน้า ส่วนบล็อกรอบข้างอาจเป็นคำสั่ง if ลูป while ฯลฯ
getTooltip() แสดงผลข้อความเคล็ดลับเครื่องมือสําหรับบล็อกนี้
getVars() แสดงผลตัวแปรทั้งหมดที่บล็อกนี้อ้างอิง
hasDisabledReason(reason) ดูว่าขณะนี้การบล็อกปิดใช้อยู่หรือไม่เนื่องจากเหตุผลที่ระบุ
hasIcon(type)
initModel() เรียก initModel ในช่องทั้งหมดในบล็อก อาจเรียกใช้มากกว่า 1 ครั้ง คุณต้องเรียกใช้ initModel หรือ initSvg หลังจากสร้างบล็อกและก่อนการโต้ตอบกับบล็อกครั้งแรก การโต้ตอบรวมถึงการดําเนินการของ UI (เช่น การคลิกและการลาก) และการเปิดใช้งานเหตุการณ์ (เช่น สร้าง ลบ และเปลี่ยนแปลง)
isCollapsed() ดูว่าบล็อกยุบอยู่หรือไม่
isDeletable() ดูว่าบล็อกนี้ลบได้หรือไม่
isDisposed() แสดงผลหากมีการทิ้ง / ลบบล็อกนี้แล้ว
isDuplicatable() ดูว่าบล็อกทำซ้ำได้หรือไม่ หากการคัดลอกบล็อกนี้และบล็อกที่สืบทอดจะทําให้บล็อกนี้เกินขีดจํากัดของพื้นที่ทํางาน คุณจะคัดลอกบล็อกนี้ไม่ได้ หากการทําซ้ำบล็อกนี้และรายการที่สืบทอดจะทําให้ประเภทใดก็ตามมีจํานวนมากกว่า maxInstances บล็อกนี้จะทําซ้ำไม่ได้
isEnabled() ดูว่าบล็อกนี้เปิดใช้อยู่หรือไม่ ระบบจะถือว่าบล็อกเปิดใช้งานอยู่หากไม่มีเหตุผลใดที่ควรปิดใช้งาน บล็อกอาจยังคงปิดใช้ด้วยเหตุผลอื่นๆ แม้ว่าผู้ใช้จะพยายามเปิดใช้ด้วยตนเองก็ตาม เช่น เมื่อบล็อกอยู่ในตำแหน่งที่ไม่ถูกต้อง
isInsertionMarker() ดูว่าบล็อกนี้เป็นบล็อกเครื่องหมายการแทรกหรือไม่
isOwnDeletable() แสดงผลว่าพร็อพเพอร์ตี้ที่ลบได้ของบล็อกนี้เป็นจริงหรือเท็จ
isOwnEditable() แสดงผลว่าพร็อพเพอร์ตี้ที่แก้ไขได้ของบล็อกนี้เป็นจริงหรือเท็จ
isShadow() ดูว่าบล็อกนี้เป็นบล็อกเงาหรือไม่
jsonInit(json) เริ่มต้นบล็อกนี้โดยใช้คำอธิบาย JSON ที่รองรับหลายแพลตฟอร์มและรองรับการปรับให้เหมาะกับผู้ใช้ทั่วโลก
mixin(mixinObj, opt_disableCheck) เพิ่มคีย์/ค่าจาก mixinObj ไปยังออบเจ็กต์บล็อกนี้ โดยค่าเริ่มต้น เมธอดนี้จะตรวจสอบว่าคีย์ใน mixinObj จะไม่เขียนทับค่าที่มีอยู่ในบล็อก ซึ่งรวมถึงค่าโปรโตไทป์ ซึ่งจะช่วยป้องกันไม่ให้มีการใช้มิกซ์อิน / ส่วนขยายร่วมกับฟีเจอร์บล็อกในอนาคต คุณสามารถปิดใช้การตรวจสอบนี้ได้โดยส่งค่า "จริง" เป็นอาร์กิวเมนต์ที่ 2
moveBy(dx, dy, reason) ย้ายบล็อกตามออฟเซตแบบสัมพัทธ์
moveInputBefore(name, refName) ย้ายอินพุตที่มีชื่อไปยังตำแหน่งอื่นในบล็อกนี้
moveNumberedInputBefore(inputIndex, refIndex) ย้ายอินพุตที่มีหมายเลขไปยังตำแหน่งอื่นในบล็อกนี้
removeIcon(type) นำไอคอนที่มี getType ตรงกับ iconType ประเภทที่ระบุออกจากบล็อก
removeInput(name, opt_quiet) นำอินพุตออกจากบล็อกนี้
renameVarById(oldId, newId) การแจ้งเตือนว่าตัวแปรกำลังเปลี่ยนชื่อ หากรหัสตรงกับตัวแปรใดตัวแปรหนึ่งของบล็อกนี้ ให้เปลี่ยนชื่อรหัส
setCollapsed(collapsed) ตั้งค่าว่าบล็อกจะยุบอยู่หรือไม่
setColour(colour) เปลี่ยนสีของบล็อก
setCommentText(text) ตั้งค่าข้อความความคิดเห็นของบล็อกนี้
setDeletable(deletable) ตั้งค่าว่าบล็อกนี้ลบได้หรือไม่
setDisabledReason(disabled, reason) เพิ่มหรือนำเหตุผลที่อาจมีการปิดใช้บล็อกออก หากบล็อกมีเหตุผลใดๆ ที่ควรปิดใช้ ระบบจะถือว่าบล็อกนั้นปิดใช้ การบล็อกอาจถูกปิดใช้ด้วยเหตุผลหลายประการที่ไม่เกี่ยวข้องกันพร้อมกัน เช่น เมื่อผู้ใช้ปิดใช้การบล็อกด้วยตนเอง หรือบล็อกไม่ถูกต้อง
setEditable(editable) กำหนดว่าบล็อกนี้จะแก้ไขได้หรือไม่
setFieldValue(newValue, name) ตั้งค่าของช่องที่ระบุสำหรับบล็อกนี้
setHelpUrl(url) ตั้งค่า 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()

เมธอดนี้จะแสดงสตริงที่อธิบายบล็อกนี้ในคำศัพท์ของนักพัฒนาแอป (ชื่อและรหัสประเภท ภาษาอังกฤษเท่านั้น)

มีไว้เพื่อใช้ในบันทึกและข้อผิดพลาดของคอนโซล หากต้องการสตริงที่ใช้ภาษาแม่ของผู้ใช้ (รวมถึงข้อความบล็อก ค่าช่อง และบล็อกย่อย) ให้ใช้ toString()

toString(opt_maxLength, opt_emptyToken) สร้างการนําเสนอข้อความที่มนุษย์อ่านได้ของบล็อกนี้และบล็อกย่อย
unplug(opt_healStack) ถอดปลั๊กบล็อกนี้ออกจากบล็อกที่เหนือกว่า หากบล็อกนี้เป็นคำสั่ง ให้เชื่อมต่อบล็อกด้านล่างกับบล็อกด้านบนอีกครั้ง (ไม่บังคับ)