blockly > BlockSvg

คลาส 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

static

readonly

(ไม่ได้ประกาศ) รหัสสำหรับแสดงคำเตือน "คำเตือนการยุบ" ช่วยให้เรานำคําเตือน "คําเตือนที่ถูกยุบ" ออกโดยไม่ต้องนําคําเตือนใดๆ ที่เป็นของการบล็อกออก
customContext Menu หรือไม่ (p1: Array<ContextแถบเมนูOption | LegacyContextTemplateOption>) => เป็นโมฆะ (ไม่บังคับ)
ย่อยสลายได้อย่างไร (p1: Workspace) => BlockSvg (ไม่บังคับ)
ความสูง ตัวเลข ความสูงของบล็อกนี้ ไม่รวมบล็อกข้อความใดๆ ที่อยู่ด้านบนหรือด้านล่าง ความสูงเป็นหน่วยพื้นที่ทำงาน
แทรก

static

readonly

(ไม่ได้ประกาศ) ค่าคงที่สำหรับการระบุแถวที่จะแสดงผลในบรรทัด อย่าชนกับ 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 ของเคอร์เซอร์ที่แนบมาอีกครั้ง หากจำเป็น