คลาส BlockDragger
คลาสสำหรับนักลากบล็อก โดยจะย้ายบล็อกต่างๆ รอบพื้นที่ทำงานเมื่อมีการลากเมาส์หรือการแตะ
ลายเซ็น:
export declare class BlockDragger implements IBlockDragger
การใช้งาน: IBlockDragger
ผู้ผลิต
ผู้ผลิต | ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
(เครื่องมือสร้าง)(บล็อก, พื้นที่ทำงาน) | สร้างอินสแตนซ์ใหม่ของคลาส BlockDragger |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | ตัวปรับแต่ง | ประเภท | คำอธิบาย |
---|---|---|---|
connectionPreviewer | protected |
IConnectionPreviewer | |
draggingBlock_ | protected |
BlockSvg | บล็อกบนสุดในกลุ่มที่มีการลาก |
dragIconData_ | protected |
ข้อมูลตำแหน่งไอคอน[] | |
startXY_ | protected |
ประสานงาน | |
workspace_ | protected |
WorkspaceSvg | พื้นที่ทำงานที่การบล็อกถูกลาก |
wouldDeleteBlock_ | protected |
boolean | การบล็อกจะถูกลบหากลดลงทันทีหรือไม่ |
วิธีการ
วิธีการ | ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
disconnectBlock_(healStack, currentDragDeltaXY) | protected |
ยกเลิกการเชื่อมต่อกับบล็อกและย้ายไปยังตำแหน่งใหม่ |
drag(e, เดลต้า) | ดำเนินการขั้นตอนการลากบล็อกตามเหตุการณ์ที่ระบุ อัปเดตจอแสดงผลให้สอดคล้องกัน | |
dragIcons_() | protected |
ย้ายไอคอนทั้งหมดที่เชื่อมต่อกับการลากนี้ |
endDrag(e, currentDragDeltaXY) | ทำการลากบล็อกให้เสร็จสิ้นแล้ววางบล็อกนั้นกลับเข้าไปในพื้นที่ทำงาน | |
fireDragEndEvent_() | protected |
เริ่มการทำงานของเหตุการณ์ UI ในช่วงท้ายของการลากบล็อก |
fireDragStartEvent_() | protected |
เริ่มการทำงานของเหตุการณ์ UI เมื่อเริ่มต้นการลากบล็อก |
fireMoveEvent_() | protected |
เริ่มการทำงานของเหตุการณ์การย้ายที่ตอนท้ายของการลากบล็อก |
getInsertionMarkers() | ดูรายการเครื่องหมายการแทรกที่มีอยู่ในปัจจุบัน การลากมีเครื่องหมายการแทรก 0, 1 หรือ 2 | |
getNewLocationAfterDrag_(currentDragDeltaXY) | protected |
คำนวณเดลต้าการลากและค่าตำแหน่งใหม่หลังจากลากบล็อก |
maybeDeleteBlock_() | protected |
อาจลบบล็อกการลากหากอนุญาต หาก this.wouldDeleteBlock_ ไม่เป็นจริง ระบบจะไม่ลบการบล็อก ระบบจะเรียกสิ่งนี้เมื่อสิ้นสุดการลากบล็อก |
pixelsToWorkspaceUnits_(pixelCoord) | protected |
แปลงวัตถุพิกัดจากพิกเซลเป็นหน่วยพื้นที่ทํางาน รวมถึงการแก้ไขพื้นที่ทํางานของการเปลี่ยนแปลง ฟังก์ชันนี้ไม่พิจารณาต้นทางที่ต่างกัน แต่จะปรับขนาดค่า x และ y ของอินพุต |
shouldDisconnect_(healStack) | protected |
เราควรยกเลิกการเชื่อมต่อกับการบล็อกเมื่อเริ่มการลากไหม |
startDrag(currentDragDeltaXY, healStack) | เริ่มลากบล็อก | |
updateBlockAfterMove_() | protected |
อัปเดตข้อมูลที่จำเป็นสำหรับการวางการบล็อกในตำแหน่งที่ต้องการ |
updateCursorDuringBlockDrag_() | protected |
อัปเดตเคอร์เซอร์ (และอาจปิดฝาถังขยะ) เพื่อแสดงว่าบล็อกการลากจะถูกลบออกหากปล่อยทันทีหรือไม่ |
updateToolboxStyle_(isEnd) | protected |
เพิ่มหรือนำรูปแบบของเคอร์เซอร์ในกล่องเครื่องมือออก นี่คือสิ่งที่จะเปลี่ยนเคอร์เซอร์ให้แสดงเครื่องหมาย x เมื่อมีการถือบล็อกที่ลบได้เหนือกล่องเครื่องมือ |