blockly > BlockSvg

คลาส BlockSvg

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

ลายเซ็น:

export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable, IDeletable 

ขยาย: บล็อก

การนำไปใช้งาน: IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable, IDeletable

ผู้ผลิต

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

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

พร็อพเพอร์ตี้ คีย์ตัวปรับแต่ง ประเภท คำอธิบาย
COLLAPSED_WARNING_ID

static

readonly

(ไม่ได้ประกาศ) รหัสสำหรับตั้ง "คำเตือนที่ยุบ" คำเตือน อนุญาตให้เรานำ "คำเตือนที่ถูกยุบ" ออก โดยไม่นำคำเตือนของการบล็อกออก
customContextMenu? (p1: Array<ContextMenuOption | LegacyContextMenuOption>) => เป็นโมฆะ (ไม่บังคับ)
แยกตัวออก (p1: พื้นที่ทำงาน) => BlockSvg (ไม่บังคับ)
ความสูง ตัวเลข ความสูงของบล็อกนี้ ไม่รวมบล็อกคำสั่งใดๆ ที่อยู่ด้านบนหรือต่ำกว่า ความสูงอยู่ในหน่วยของพื้นที่ทำงาน
INLINE

static

readonly

(ไม่ได้ประกาศ) ค่าคงที่สำหรับการระบุแถวที่จะแสดงแบบอินไลน์ อย่าขัดแย้งกับ Blockly.inputTypes
Mutator MutatorIcon | ค่าว่าง ไอคอน Mutator ของบล็อก (หากมี)
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
แสดงผลแล้ว readonly (ไม่ได้ประกาศ) การบล็อกนี้เป็น BlockSVG ใช่ไหม
saveConnections ไหม (หน้า 1: BlockSvg) => เป็นโมฆะ (ไม่บังคับ)
สไตล์ [style] BlockStyle
ความกว้าง ตัวเลข ความกว้างของบล็อกนี้ รวมถึงบล็อกค่าที่เชื่อมต่อ ความกว้างอยู่ในหน่วยของพื้นที่ทำงาน
พื้นที่ทำงาน WorkspaceSvg

เมธอด

วิธีการ คีย์ตัวปรับแต่ง คำอธิบาย
addIcon(icon)
addSelect() เพิ่ม "เลือก" ภาพ ของการบล็อก แต่ไม่ได้เลือกหรือทำให้เหตุการณ์เริ่มทำงานจริงๆ
appendInput(input)
bumpNeighbours()

ขยับบล็อกที่ไม่ได้เชื่อมต่อให้อยู่แนวเดียวกัน

บล็อก 2 บล็อกที่ไม่ได้เชื่อมต่อกันจริงๆ ไม่ควรอยู่ติดกันบนหน้าจอ เพราะจะทำให้ผู้ใช้ปลายทางสับสน

checkAndDelete() ลบบล็อกและซ่อนแก๊ฟเมื่อทำเช่นนั้น โดยจะไม่มีการลบบล็อกดังกล่าวหากบล็อกอยู่ระหว่างการดึงข้อมูล ซึ่งจะเรียกใช้จากเมนูบริบทและแป้นพิมพ์ลัดเป็นการดำเนินการลบโดยสมบูรณ์ หากคุณกำจัดบล็อกออกจากพื้นที่ทำงานและไม่จำเป็นต้องทำการตรวจสอบ Flyout, จัดการการจัดกลุ่มกิจกรรม หรือซ่อนแชฟฟ์ ให้ใช้ block.dispose() โดยตรง
กำจัด(healStack, เคลื่อนไหว) กำจัดบล็อกนี้
disposeInternal() กำจัดบล็อกนี้โดยไม่ต้องดำเนินการตามที่บล็อกด้านบนกำหนด เช่น ทริกเกอร์เอฟเฟกต์ UI, นำโหนดออก เป็นต้น
drag(newLoc, e) ลากบล็อกไปยังตำแหน่งที่กำหนด
endDrag(e) สิ้นสุดการลากบนบล็อก
generateContextMenu() protected สร้างเมนูตามบริบทสำหรับการบล็อกนี้
getBoundingRectangle() แสดงผลพิกัดของกรอบล้อมรอบที่อธิบายมิติของบล็อกนี้และบล็อกที่ซ้อนอยู่ด้านล่าง ระบบพิกัด: พิกัดของพื้นที่ทำงาน
getChildren(ordered) ค้นหาบล็อกทั้งหมดที่ฝังอยู่ภายในบล็อกนี้โดยตรง รวมอินพุตมูลค่าและข้อความ รวมถึงข้อความต่อไปนี้ ไม่รวมการเชื่อมต่อในแท็บเอาต์พุตหรือข้อความก่อนหน้า การบล็อกจะจัดเรียงตามตำแหน่ง (ไม่บังคับ) จากบนลงล่าง
getColour() เลือกสีของบล็อก
getColourSecondary() เลือกสีรองของบล็อก
getColourTertiary() หาสีที่ 3 ของบล็อก
getNextBlock() แสดงผลบล็อกคำสั่งถัดไปที่เชื่อมต่อกับการบล็อกนี้โดยตรง
getPreviousBlock() แสดงบล็อกที่เชื่อมต่อกับการเชื่อมต่อก่อนหน้า
getRelativeToSurfaceXY() แสดงพิกัดที่มุมซ้ายบนของบล็อกนี้ซึ่งสัมพันธ์กับต้นทางของพื้นที่วาดภาพ (0,0) ในหน่วยพื้นที่ทำงาน หากบล็อกอยู่บนพื้นที่ทำงาน (0, 0) จะเป็นต้นทางของระบบพิกัดพื้นที่ทำงาน การเปลี่ยนแปลงนี้จะไม่เปลี่ยนแปลงตามขนาดของพื้นที่ทำงาน
getSvgRoot() แสดงผลโหนดรูทของ SVG หรือ Null หากยังไม่มี
initSvg() สร้างและเริ่มต้นการแสดง SVG ของบล็อก อาจมีการโทรมากกว่า 1 ครั้ง
isMovable() แสดงผลว่าบล็อกนี้ย้ายได้หรือไม่
markDirty() แจ้งเตือนทุกอินพุตในบล็อกนี้เพื่อทำเครื่องหมายช่องว่าสกปรก ฟิลด์ที่สกปรกคือฟิลด์ที่ต้องได้รับการแสดงผลอีกครั้ง
moveBy(dx, dy, reason) ย้ายบล็อกตามออฟเซ็ตที่เกี่ยวข้อง
moveNumberedInputBefore(inputIndex, refIndex) ย้ายอินพุตที่มีตัวเลขไปยังตำแหน่งอื่นในบล็อกนี้
moveTo(xy, เหตุผล) ย้ายบล็อกไปยังตำแหน่งที่ต้องการ
removeIcon(type)
removeInput(name, opt_quiet) นําอินพุตออกจากบล็อกนี้
removeSelect() นำ "เลือก" ภาพออก จากการบล็อก แต่จริงๆ แล้วไม่ได้ยกเลิกการเลือกหรือทำให้เหตุการณ์เริ่มทำงาน
render() จัดวางบล็อกและปรับเปลี่ยนใหม่ตามเนื้อหาและการตั้งค่าทันที
revertDrag() ย้ายบล็อกกลับไปยังจุดเริ่มต้นของการลาก
scheduleSnapAndBump() จัดพอดีกับตารางกริด แล้วย้ายบล็อกที่อยู่ใกล้เคียงออกไปเมื่อสิ้นสุดการแสดงภาพถัดไป
select() เลือกบล็อกนี้ ไฮไลต์บล็อกด้วยภาพ
setCollapsed(collapsed) กำหนดว่าจะยุบบล็อกหรือไม่
setColour(colour) เปลี่ยนสีของบล็อก
setDisabledReason(disabled, reason) เพิ่มหรือนำเหตุผลในการปิดใช้การบล็อกออก หากการบล็อกมีเหตุผลในการปิดใช้ จะถือว่าการบล็อกนั้นปิดใช้ไปแล้ว การบล็อกอาจถูกปิดใช้ด้วยเหตุผลหลายประการไปพร้อมกัน เช่น เมื่อผู้ใช้ปิดใช้งานด้วยตนเอง หรือการบล็อกไม่ถูกต้อง
setDragStrategy(dragStrategy) กำหนดกลยุทธ์การลากสำหรับการบล็อกนี้
setEditable(editable) ตั้งค่าว่าบล็อกนี้แก้ไขได้หรือไม่
setEnabled(enabled)
setHighlighted(highlighted) ตั้งค่าว่าจะไฮไลต์บล็อกหรือไม่ การไฮไลต์แบบบล็อกมักใช้เพื่อทำเครื่องหมายบล็อกที่กำลังดำเนินการอยู่
setInputsInline(newBoolean) กำหนดว่าอินพุตค่าจะจัดเรียงในแนวนอนหรือแนวตั้ง
setMovable(movable) กำหนดว่าต้องย้ายบล็อกนี้ได้หรือไม่
setMutator(mutator) กำหนดกล่องโต้ตอบ Mutator ให้บล็อกนี้
setNextStatement(newBoolean, opt_check) กำหนดว่าจะให้อีกบล็อกหนึ่งต่อเข้ากับด้านล่างของบล็อกสี่เหลี่ยมนี้ได้หรือไม่
setOutput(newBoolean, opt_check) กำหนดว่าการบล็อกนี้จะแสดงค่าหรือไม่
setPreviousStatement(newBoolean, opt_check) กำหนดว่าบล็อกนี้สามารถต่อเข้ากับด้านล่างของบล็อกอื่นได้หรือไม่
setStyle(blockStyleName) กำหนดค่ารูปแบบและสีของบล็อก
setWarningText(text, id) ตั้งข้อความเตือนของบล็อกนี้
snapToGrid() สแนปบล็อกนี้เข้ากับจุดตารางกริดที่ใกล้ที่สุด
startDrag(e) เริ่มการลากบนบล็อก
แท็บ(เริ่มต้น ไปข้างหน้า) เปิด FieldTextInput ถัดไป (หรือก่อนหน้า)
toCopyData() เข้ารหัสบล็อกเพื่อคัดลอก
toFlyoutInfo() แสดงผลการนำเสนอบล็อกนี้ที่จะแสดงในฟลายเอาต์
แปล(x, y) แปลงการบล็อกโดยการตั้งค่าการแปลในแอตทริบิวต์ transform ของ SVG ของบล็อก
unselect() ยกเลิกการเลือกบล็อกนี้ เลิกไฮไลต์การบล็อกด้วยภาพ
updateMarkers_() protected วาดเครื่องหมายที่แนบมาหรือ SVG ของเคอร์เซอร์อีกครั้งหากจำเป็น