blockly > บล็อก

บล็อกชั้นเรียน

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

ลายเซ็น:

export declare class Block implements IASTNodeLocation, IDeletable 

การนำไปใช้งาน: IASTNodeLocation, IDeletable

ผู้ผลิต

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

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

พร็อพเพอร์ตี้ ตัวปรับแต่ง Type คำอธิบาย
childBlocks_ protected นี้[]
collapsed_ protected boolean
COLLAPSED_FIELD_NAME

static

readonly

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

static

readonly

สตริง รหัสภาษาที่เป็นกลางที่กำหนดให้กับอินพุตที่ยุบ
colour_ protected สตริง สีของบล็อกในรูปแบบ "#RRGGBB"
compose? (p1: Block) => เป็นโมฆะ (ไม่บังคับ) ฟังก์ชันที่ไม่บังคับที่กำหนดค่าบล็อกใหม่ตามเนื้อหาของกล่องโต้ตอบการเปลี่ยนแปลง
contextMenu boolean
ข้อมูล สตริง | ไม่มีข้อมูล ข้อมูลข้อความที่ไม่บังคับที่มีการส่งไปกลับระหว่างบล็อกและ XML ไม่มีผลใดๆ บุคคลที่สามอาจใช้เพื่อแสดงข้อมูลเมตา
ย่อยสลายได้อย่างไร (p1: พื้นที่ทำงาน) => บล็อก (ไม่บังคับ) ฟังก์ชันที่ไม่บังคับที่สร้างกล่องโต้ตอบของตัวเปลี่ยนแปลงด้วยคอมโพเนนต์ของบล็อกนี้
destroy? () => เป็นโมฆะ (ไม่บังคับ) วิธีทางเลือกที่เรียกระหว่างการกำจัด
domToMutation (p1: องค์ประกอบ) => เป็นโมฆะ (ไม่บังคับ) วิธีการดีซีเรียลไลซ์ (ไม่บังคับ) สำหรับกำหนดวิธีดีซีเรียลไลซ์สถานะการเปลี่ยนแปลงจาก XML ซึ่งต้องใช้ร่วมกับการกำหนด mutationToDom
getDeveloperVariant ใช่ไหม () => สตริง[] (ไม่บังคับ) พร็อพเพอร์ตี้ที่ไม่บังคับสำหรับการประกาศตัวแปรของนักพัฒนาซอฟต์แวร์ แสดงรายการชื่อตัวแปรเพื่อให้โปรแกรมสร้างใช้ ตัวแปรของนักพัฒนาซอฟต์แวร์จะไม่แสดงให้ผู้ใช้เห็น แต่จะประกาศเป็นตัวแปรร่วมในโค้ดที่สร้างขึ้น
? สตริง (ไม่บังคับ) ชื่อประเภทของหมวก
helpUrl string | Function | null สตริงสำหรับความช่วยเหลือเกี่ยวกับการบล็อก หรือฟังก์ชันที่แสดงผล URL ค่า Null หากไม่ขอความช่วยเหลือ
ไอคอน IIcon[]
id สตริง
init? () => เป็นโมฆะ (ไม่บังคับ) เมธอดที่ไม่บังคับซึ่งเรียกใช้ระหว่างการเริ่มต้น
inputList อินพุต[]
อินพุตอินไลน์? boolean (ไม่บังคับ)
inputsinlineDefault ใช่ไหม boolean (ไม่บังคับ)
isInFlyout boolean
isInMutator boolean
isInsertionMarker_ protected boolean เป็นจริงหากบล็อกนี้เป็นเครื่องหมายการแทรก
loadExtraState? (p1: ใดๆ) => เป็นโมฆะ (ไม่บังคับ) วิธีการเรียงอันดับ (ไม่บังคับ) สำหรับกำหนดวิธีดีซีเรียลสถานะพิเศษของบล็อก (เช่น สถานะการเปลี่ยนแปลง) จากสิ่งที่เข้ากันได้กับ JSON ซึ่งต้องใช้ร่วมกับการกำหนด saveExtraState
MutationToDom ใช่ไหม (...p1: Any[]) => องค์ประกอบ (ไม่บังคับ) วิธีการเรียงอันดับ (ไม่บังคับ) สำหรับกำหนดวิธีการเรียงลำดับสถานะการเปลี่ยนแปลงเป็น XML ซึ่งต้องใช้ร่วมกับการกำหนด domToMutation
nextConnection การเชื่อมต่อ | null
ไม่เปลี่ยนแปลง ((p1: Abstract) => void) | null (ไม่บังคับ) วิธีเรียกกลับ (ไม่บังคับ) ที่จะใช้เมื่อพื้นที่ทำงานระดับบนของการบล็อกมีการเปลี่ยนแปลง โดยปกติแล้วจะเรียกจากตัวสร้าง ฟังก์ชันเริ่มต้นประเภทบล็อก หรือฟังก์ชันเริ่มต้นส่วนขยายเท่านั้น
outputConnection การเชื่อมต่อ | null
outputShape_ protected ตัวเลข | ไม่มีข้อมูล
parentBlock_ protected นี้ | null
previousConnection การเชื่อมต่อ | null
แสดงผลแล้ว boolean | null
RTL boolean
SaveExtraState ไหม (doFullSerialization?: บูลีน) => ใดก็ได้ (ไม่บังคับ) วิธีการทำให้เป็นอนุกรม (ไม่บังคับ) สำหรับกำหนดวิธีทำให้สถานะพิเศษของบล็อกเป็นอนุกรม (เช่น สถานะการเปลี่ยนแปลง) เป็นรูปแบบที่เข้ากันได้กับ JSON ซึ่งต้องใช้ร่วมกับการกำหนด loadExtraState
styleName_ protected สตริง ชื่อของรูปแบบบล็อก
suppressPrefixSuffix boolean | null พร็อพเพอร์ตี้ที่ไม่บังคับสำหรับการระงับการเพิ่ม STATEMENT_PREFIX และ STATEMENT_SUFFIX ในโค้ดที่สร้างขึ้น
เคล็ดลับเครื่องมือ Tooltip.TipInfo
ประเภท สตริง
พื้นที่ทำงาน พื้นที่ทำงาน

วิธีการ

วิธีการ ตัวปรับแต่ง คำอธิบาย
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() แสดงผลความคิดเห็นในบล็อกนี้ (หรือเป็นค่าว่างถ้าไม่มีความคิดเห็น)
getDescendants(ordered) ค้นหาบล็อกทั้งหมดที่ซ้อนอยู่ในบล็อกนี้ทั้งโดยตรงและโดยอ้อม รวมบล็อกนี้ในรายการ ประกอบด้วยอินพุตมูลค่าและคำสั่ง รวมทั้งคำสั่งใดๆ ต่อไปนี้ ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือคำสั่งก่อนหน้า บล็อกสามารถจัดเรียงได้ตามตำแหน่ง (ไม่บังคับ) จากบนลงล่าง
getField(name) แสดงผลฟิลด์ที่มีชื่อจากบล็อก
getFieldValue(name) แสดงผลค่าภาษาที่เป็นกลางของฟิลด์ที่ระบุ
getHue() ดูค่า HSV Hue ของบล็อกหนึ่งๆ Null หากไม่ได้ตั้งค่าโทนสี
getIcon(type)
getIcons()
getInheritedDisabled() รับข้อมูลว่าการบล็อกถูกปิดใช้เนื่องจากสำหรับผู้ปกครอง แต่จะไม่พิจารณาพร็อพเพอร์ตี้ที่ปิดใช้ของการบล็อก
getInput(name) เรียกออบเจ็กต์อินพุตที่มีชื่อ
getInputsInline() ดูว่าอินพุตของค่ามีการจัดเรียงแนวนอนหรือแนวตั้ง
getInputTargetBlock(name) ดึงข้อมูลบล็อกที่แนบกับอินพุตที่มีชื่อ
getInputWithBlock(block) แสดงผลอินพุตที่เชื่อมต่อกับบล็อกที่ระบุ
getNextBlock() แสดงบล็อกคำสั่งถัดไปซึ่งเชื่อมต่อโดยตรงกับบล็อกนี้
getOutputShape() รับรูปร่างเอาต์พุตของบล็อก
getParent() แสดงผลการบล็อกระดับบนสุดหรือ Null หากการบล็อกนี้อยู่ที่ระดับบนสุด บล็อกระดับบนสุดคือบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า (สำหรับบล็อกคำสั่ง) หรือบล็อกที่เชื่อมต่อกับการเชื่อมต่อเอาต์พุต (สำหรับบล็อกค่า)
getPreviousBlock() แสดงผลการบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า
getRelativeToSurfaceXY() แสดงผลพิกัดที่มุมซ้ายบนของบล็อกนี้ที่สัมพันธ์กับต้นทางของพื้นผิวการวาดภาพ (0,0) ในหน่วยพื้นที่ทำงาน
getRootBlock() แสดงผลบล็อกที่อยู่บนสุดในแผนผังของบล็อกนี้ ซึ่งจะแสดงผลเองหากบล็อกนี้อยู่ที่ระดับบนสุด
getStyleName() รับชื่อของรูปแบบบล็อก
getSurroundParent() Return the parent block that surrounds the current block, or null if this block has no surrounding block. บล็อกระดับบนอาจเป็นเพียงคำสั่งก่อนหน้า ในขณะที่การบล็อกที่ล้อมรอบเป็นคำสั่ง if ส่วนลูป ฯลฯ
getTooltip() แสดงผลข้อความเคล็ดลับเครื่องมือสำหรับบล็อกนี้
getVars() แสดงผลตัวแปรทั้งหมดที่บล็อกนี้อ้างอิง
hasIcon(type)
initModel() เรียก initModel บนทุกช่องในบล็อก อาจมีการเรียกมากกว่า 1 ครั้ง ต้องเรียกใช้ initModel หรือ initSvg หลังจากสร้างบล็อกและก่อนการโต้ตอบครั้งแรกกับบล็อก การโต้ตอบรวมถึงการทำงาน UI (เช่น การคลิกและการลาก) และเหตุการณ์การเริ่มทำงาน (เช่น สร้าง ลบ และเปลี่ยน)
isCollapsed() ดูว่าการบล็อกยุบอยู่หรือไม่
isDeletable() ดูว่าบล็อกนี้ลบได้หรือไม่
isDisposed() แสดงผลหากมีการกำจัด / ลบบล็อกนี้แล้ว
isDuplicatable() ดูว่าการบล็อกนี้ทำซ้ำได้หรือไม่ หากบล็อกองค์ประกอบนี้ซ้ำและองค์ประกอบสืบทอดจะทำให้บล็อกนี้เกินความจุของพื้นที่ทำงาน บล็อกนี้จะไม่ทำซ้ำ หากบล็อกรายการที่ซ้ำกันและองค์ประกอบสืบทอดจะทำให้ประเภทใดก็ตามทับอินสแตนซ์สูงสุด การบล็อกนี้จะไม่ทำซ้ำได้
isEnabled() ดูว่ามีการเปิดใช้การบล็อกนี้หรือไม่
isInsertionMarker() ดูว่าบล็อกนี้เป็นบล็อกตัวทำเครื่องหมายการแทรกหรือไม่
isOwnDeletable() ส่งคืนว่าพร็อพเพอร์ตี้ที่ลบได้ของบล็อกนี้เป็นจริงหรือเท็จ
isOwnEditable() ส่งคืนว่าพร็อพเพอร์ตี้ที่แก้ไขได้ของบล็อกนี้เป็นจริงหรือเท็จ
isShadow() รับข้อมูลว่าบล็อกนี้เป็นบล็อกเงาหรือไม่
jsonInit(json) เริ่มต้นการบล็อกนี้โดยใช้คำอธิบาย JSON แบบข้ามแพลตฟอร์มและเหมาะกับการปรับให้เป็นสากล
mixin(mixinObj, opt_disableCheck) เพิ่มคีย์/ค่าจากMixinObj ลงในออบเจ็กต์บล็อกนี้ โดยค่าเริ่มต้น เมธอดนี้จะตรวจสอบว่าคีย์ในMixinObj จะไม่เขียนทับค่าที่มีอยู่ในบล็อก ซึ่งรวมถึงค่าต้นแบบด้วย ซึ่งจะช่วยป้องกันความไม่เข้ากันระหว่างมิกซ์ / ส่วนขยายกับฟีเจอร์การบล็อกในอนาคต คุณปิดใช้การตรวจสอบนี้ได้โดยการส่ง true เป็นอาร์กิวเมนต์ที่ 2
moveBy(dx, dy, เหตุผล) ย้ายบล็อกด้วยออฟเซ็ตแบบสัมพัทธ์
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) กำหนดว่าบล็อกนี้จะลบได้หรือไม่
setEditable(editable) กำหนดว่าบล็อกนี้แก้ไขได้หรือไม่
setEnabled(enabled) กำหนดว่าจะเปิดใช้การบล็อกหรือไม่
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) ปลดบล็อกนี้ออกจากบล็อกระดับสูง หากบล็อกนี้เป็นคำสั่ง คุณสามารถเลือกเชื่อมต่อบล็อกที่อยู่ด้านล่างกับบล็อกด้านบนอีกครั้งก็ได้