โหมดแสดงภาพใน Blockly จะควบคุมรูปร่างของบล็อก ซึ่งรวมถึงความสูง, ระยะห่างจากขอบ, ความหนาของเส้นขอบ และรูปร่างเส้นเชื่อมต่อ
โหมดแสดงภาพที่กำหนดเอง
หากต้องการปรับแต่งรูปร่างของบล็อก คุณจะต้องสร้างตัวแสดงผลที่กำหนดเอง ดูข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการนี้ได้โดยกรอก Codelab หรืออ่านเอกสารอ้างอิง การอ่านโค้ดสำหรับโหมดแสดงภาพในตัวของ Blockly จะช่วยให้เข้าใจวิธีการทำงานของโค้ด
หากต้องการสร้างตัวแสดงผลที่กำหนดเอง คุณจะต้องทำดังนี้
- กำหนดตัวแสดงผลใหม่ คุณจะคลาสย่อยคลาสการแสดงผลพื้นฐานหรือตัวแสดงผลที่มีอยู่ก็ได้โดยขึ้นอยู่กับตำแหน่งที่คุณต้องการเริ่มต้น
- ลบล้างส่วนที่ต้องการเปลี่ยน
- เช่น หากต้องการเพิ่มระยะห่างจากขอบในบล็อก คุณสามารถคลาสย่อย
ConstantProvider
(ไม่ว่าฐานหรือตัวแสดงผลที่มีอยู่) และลบล้างค่าคงที่ที่เกี่ยวข้อง ค่าอื่นๆ ทั้งหมดจะยังคงเหมือนเดิมกับคลาสพื้นฐานที่คุณเลือก - ในคลาสย่อย
Renderer
ที่กำหนดเอง คุณจะต้องเชื่อมต่อกับคลาสConstantProvider
ใหม่ โดยลบล้างฟังก์ชันmakeConstants_
เพื่อแสดงผลอินสแตนซ์ใหม่ของConstantProvider
ที่กำหนดเองแทนคลาสฐาน - ทำตามขั้นตอนเดียวกันนี้เมื่อลบล้างคลาสอื่นๆ เช่น
PathObject
หรือDrawer
- เช่น หากต้องการเพิ่มระยะห่างจากขอบในบล็อก คุณสามารถคลาสย่อย
ลงทะเบียนโหมดแสดงภาพโดยทำดังนี้
Blockly.blockRendering.register('custom_renderer', CustomRenderer);
ใช้โหมดแสดงภาพในแอปพลิเคชันของคุณดังนี้
Blockly.inject('blocklyDiv', { renderer: 'custom_renderer' });
โหมดแสดงภาพในตัว
Blockly มีตัวแสดงผลที่สร้างไว้ล่วงหน้าหลายรายการ คุณจะใช้ค่าเหล่านี้ตามที่เป็นอยู่ หรือจะใช้เป็นฐานของตัวแสดงผลที่กำหนดเองก็ได้
- geras (ค่าเริ่มต้น)
- thrasos (ใช้ geras ที่ทันสมัยกว่า)
- zelos (เหมือนรอยขีด)
- minimalist (คลาสโหมดแสดงภาพพื้นฐาน)
หากต้องการใช้ตัวแสดงผลแบบใดแบบหนึ่งต่อไปนี้ ให้ส่งชื่อไปยังตัวเลือกการแทรก
Blockly.inject('blocklyDiv', {
renderer: 'thrasos'
});
หากต้องการจัดคลาสย่อย ให้ขยายคลาสที่เหมาะสม:
class CustomRenderer extends Blockly.geras.Renderer {}
class CustomConstantProvider extends Blockly.geras.ConstantProvider {}