คลาส BlockSvg
คลาสสำหรับการแสดง SVG ของบล็อก โดยปกติแล้วจะไม่เรียกโดยตรง แต่แนะนำให้ใช้ workspace.newBlock()
ลายเซ็น:
export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable
ส่วนขยาย: บล็อก
การนำไปใช้งาน: IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable
ผู้ผลิต
ผู้ผลิต | ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
(constructor)(workspace, prototypeName, opt_id) | สร้างอินสแตนซ์ใหม่ของคลาส BlockSvg |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | ตัวปรับแต่ง | Type | คำอธิบาย |
---|---|---|---|
COLLAPSED_WARNING_ID |
|
(ไม่ได้ประกาศ) | รหัสสำหรับแสดงคำเตือน "คำเตือนการยุบ" ช่วยให้เรานำคําเตือน "คําเตือนที่ถูกยุบ" ออกโดยไม่ต้องนําคําเตือนใดๆ ที่เป็นของการบล็อกออก |
customContext Menu หรือไม่ | (p1: Array<ContextแถบเมนูOption | LegacyContextTemplateOption>) => เป็นโมฆะ | (ไม่บังคับ) | |
ย่อยสลายได้อย่างไร | (p1: Workspace) => BlockSvg | (ไม่บังคับ) | |
ความสูง | ตัวเลข | ความสูงของบล็อกนี้ ไม่รวมบล็อกข้อความใดๆ ที่อยู่ด้านบนหรือด้านล่าง ความสูงเป็นหน่วยพื้นที่ทำงาน | |
แทรก |
|
(ไม่ได้ประกาศ) | ค่าคงที่สำหรับการระบุแถวที่จะแสดงผลในบรรทัด อย่าชนกับ Blockly.inputTypes |
การเปลี่ยนแปลง | MutatorIcon | ไม่มีข้อมูล | ไอคอนการเปลี่ยนแปลงของบล็อก (หากมี) | |
nextConnection | RenderedConnection | ||
outputConnection | RenderedConnection | ||
previousConnection | RenderedConnection | ||
แสดงผลแล้ว | boolean | ||
saveConnections ไหม | (p1: BlockSvg) => เป็นโมฆะ | (ไม่บังคับ) | |
สไตล์ [style] | BlockStyle | ||
คำเตือน | WarningIcon | ไม่มีข้อมูล | ไอคอนคำเตือนของการบล็อก (หากมี) | |
ความกว้าง | ตัวเลข | ความกว้างของบล็อกนี้ รวมถึงบล็อกค่าที่เชื่อมต่อ ความกว้างเป็นหน่วยของพื้นที่ทำงาน | |
พื้นที่ทำงาน | WorkspaceSvg |
วิธีการ
วิธีการ | ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
addIcon(icon) | ||
addSelect() | เพิ่มเอฟเฟกต์ "select" แบบภาพลงในบล็อก แต่ไม่ได้เลือกเอฟเฟกต์ดังกล่าวหรือทำให้เหตุการณ์เริ่มทำงาน | |
appendInput(input) | ||
bumpNeighbours() | ยกบล็อกที่ไม่ได้เชื่อมต่อออกนอกแนว บล็อก 2 บล็อกที่ไม่ได้เชื่อมต่อกันจริงๆ ไม่ควรวางเรียงกันบนหน้าจอเพราะจะทำให้ผู้ใช้ปลายทางเกิดความสับสน |
|
checkAndDelete() | ลบบล็อกและซ่อนเชฟเมื่อบล็อก การบล็อกจะไม่ถูกลบหากอยู่ระหว่างดำเนินการ ซึ่งจะเรียกจากเมนูตามบริบทและแป้นพิมพ์ลัดเป็นการดำเนินการลบทั้งหมด หากกำลังกำจัดบล็อกออกจากพื้นที่ทำงานและไม่จำเป็นต้องตรวจสอบอย่างรวดเร็ว จัดการการจัดกลุ่มเหตุการณ์ หรือซ่อนขยะ ให้ใช้ block.dispose() โดยตรง |
|
dispose(healStack, ภาพเคลื่อนไหว) | กำจัดบล็อกนี้ | |
disposeInternal() | กำจัดบล็อกนี้โดยไม่ต้องทำอะไรตามที่บล็อกด้านบนกำหนด เช่น ทริกเกอร์เอฟเฟกต์ UI นำโหนดออก เป็นต้น | |
generateContextMenu() | protected |
สร้างเมนูตามบริบทสำหรับบล็อกนี้ |
getBoundingRectangle() | แสดงพิกัดของกล่องขอบเขตที่อธิบายขนาดของบล็อกนี้และบล็อกที่ซ้อนอยู่ใต้บล็อก ระบบพิกัด: พิกัดของพื้นที่ทำงาน | |
getChildren(ordered) | ค้นหาบล็อกทั้งหมดที่ซ้อนอยู่ในบล็อกนี้โดยตรง ระบุอินพุตค่าและคำสั่ง รวมถึงคำสั่งต่อไปนี้ ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือข้อความก่อนหน้า บล็อกสามารถจัดเรียงได้ตามตำแหน่ง (ไม่บังคับ) จากบนลงล่าง | |
getColour() | หาสีของบล็อก | |
getColourSecondary() | หาสีรองของบล็อก | |
getColourTertiary() | หาสีลำดับสามของบล็อก | |
getCommentIcon() | รับไอคอนความคิดเห็นที่แนบมากับบล็อกนี้ หรือ Null หากการบล็อกไม่มีความคิดเห็น | |
getNextBlock() | แสดงบล็อกคำสั่งถัดไปซึ่งเชื่อมต่อโดยตรงกับบล็อกนี้ | |
getPreviousBlock() | แสดงผลการบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า | |
getRelativeToSurfaceXY() | แสดงผลพิกัดที่มุมซ้ายบนของบล็อกนี้ที่สัมพันธ์กับต้นทางของพื้นผิวการวาดภาพ (0,0) ในหน่วยพื้นที่ทำงาน หากบล็อกอยู่ในพื้นที่ทำงาน (0, 0) คือต้นทางของระบบพิกัดของพื้นที่ทำงาน สิ่งนี้ไม่เปลี่ยนแปลงตามขนาดของพื้นที่ทำงาน | |
getSvgRoot() | แสดงผลโหนดรูทของ SVG หรือ Null หากไม่มี | |
initSvg() | สร้างและเริ่มการแสดง SVG ของบล็อก อาจมีการเรียกมากกว่า 1 ครั้ง | |
markDirty() | แจ้งเตือนทุกอินพุตในบล็อกนี้เพื่อทำเครื่องหมายช่องว่าสกปรก ช่องที่สกปรกคือฟิลด์ที่ต้องแสดงผลอีกครั้ง | |
moveBy(dx, dy, เหตุผล) | ย้ายบล็อกด้วยออฟเซ็ตแบบสัมพัทธ์ | |
moveNumberedInputBefore(inputIndex, refIndex) | ย้ายอินพุตที่เป็นตัวเลขไปยังตำแหน่งอื่นในบล็อกนี้ | |
moveTo(xy, เหตุผล) | ย้ายบล็อกไปยังตำแหน่งที่ต้องการ | |
removeIcon(type) | ||
removeInput(name, opt_quiet) | นําอินพุตออกจากบล็อกนี้ | |
removeSelect() | นำเอฟเฟกต์ "select" แบบภาพออกจากบล็อก แต่ไม่ได้ยกเลิกการเลือกหรือทำให้เหตุการณ์เริ่มทำงาน | |
render() | จัดวางและปรับบล็อกบล็อกตามเนื้อหาและการตั้งค่าทันที | |
select() | เลือกบล็อกนี้ ไฮไลต์บล็อกเป็นภาพและสั่งให้เหตุการณ์ที่เลือกเริ่มทำงานหากยังไม่ได้เลือกการบล็อก | |
setCollapsed(collapsed) | กำหนดว่าบล็อกยุบอยู่หรือไม่ | |
setColour(colour) | เปลี่ยนสีของบล็อก | |
setEditable(editable) | กำหนดว่าบล็อกนี้แก้ไขได้หรือไม่ | |
setEnabled(enabled) | กำหนดว่าจะเปิดใช้การบล็อกหรือไม่ | |
setHighlighted(highlighted) | ตั้งค่าว่าจะไฮไลต์การบล็อกหรือไม่ การไฮไลต์แบบบล็อกมักจะใช้เพื่อทำเครื่องหมายการบล็อกที่ดำเนินการอยู่ในปัจจุบัน | |
setInputsInline(newBoolean) | กำหนดว่าอินพุตค่าจะจัดอยู่ในแนวนอนหรือแนวตั้ง | |
setMovable(movable) | ตั้งค่าว่าจะให้บล็อกนี้ย้ายได้หรือไม่ | |
setMutator(mutator) | กำหนดกล่องโต้ตอบการเปลี่ยนแปลงให้บล็อกนี้ | |
setNextStatement(newBoolean, opt_check) | กำหนดว่าบล็อกอื่นจะเชื่อมโยงมาที่ด้านล่างของบล็อกนี้หรือไม่ | |
setOutput(newBoolean, opt_check) | ตั้งค่าว่าจะให้บล็อกนี้แสดงค่าหรือไม่ | |
setPreviousStatement(newBoolean, opt_check) | กำหนดว่าบล็อกนี้สามารถเชื่อมโยงไปที่ด้านล่างของบล็อกอื่นได้หรือไม่ | |
setStyle(blockStyleName) | ตั้งค่ารูปแบบและสีของบล็อก | |
setWarningText(text, id) | ตั้งค่าข้อความเตือนของบล็อกนี้ | |
snapToGrid() | สแนปบล็อกนี้ไปยังจุดตารางกริดที่ใกล้ที่สุด | |
(เริ่มต้น, ไปข้างหน้า) | เปิด FieldTextInput ถัดไป (หรือก่อนหน้า) | |
toCopyData() | เข้ารหัสบล็อกเพื่อคัดลอก | |
แปล(x, y) | แปลงบล็อกโดยการตั้งค่าคําแปลในแอตทริบิวต์ transform ของ SVG ของบล็อก | |
ยกเลิกการเลือก() | ยกเลิกการเลือกบล็อกนี้ ยกเลิกการไฮไลต์การบล็อกและทำให้เหตุการณ์ที่เลือก (เท็จ) เริ่มทำงานหากมีการเลือกการบล็อกอยู่ | |
updateMarkers_() | protected |
วาดเครื่องหมายหรือ svgs ของเคอร์เซอร์ที่แนบมาอีกครั้ง หากจำเป็น |