تعريف الوحدة الأساسية هو عنصر يحدّد وحدة أساسية مخصّصة. على سبيل المثال، يحدّد هذا النوع شكل المكوّن ومظهره (النص والحقول وعناصر الربط واللون وما إلى ذلك)، بالإضافة إلى سلوكه (معالج الأحداث على مستوى المكوّن وما إلى ذلك).
على سبيل المثال، هذه الكتلة:
يمكن تحديدها في JSON أو JavaScript على النحو التالي:
JSON
Blockly.common.defineBlocksWithJsonArray([{
"type": "string_length",
"message0": 'length of %1',
"args0": [
{
"type": "input_value",
"name": "VALUE",
"check": "String"
}
],
"output": "Number",
"colour": 160,
"tooltip": "Returns number of letters in the provided text.",
"helpUrl": "http://www.w3schools.com/jsref/jsref_length_string.asp"
}]);
تنشئ الدالة defineBlocksWithJsonArray
تعريفًا لكتلة من عنصر JSON.
JavaScript
Blockly.Blocks['string_length'] = {
init: function() {
this.appendValueInput('VALUE')
.setCheck('String')
.appendField('length of');
this.setOutput(true, 'Number');
this.setColour(160);
this.setTooltip('Returns number of letters in the provided text.');
this.setHelpUrl('http://www.w3schools.com/jsref/jsref_length_string.asp');
}
};
عند استخدام JavaScript، يمكنك إنشاء تعريف الحظر مباشرةً.
طريقة عمل تعريفات الحظر
تعريف الكتلة هو mixin يحتوي على خصائص ذات قيم دالية. عند إنشاء مثيل لكتلة جديدة، يتم نسخ هذه الخصائص إلى عنصر الكتلة الذي تم إنشاؤه حديثًا. يستدعي Blockly هذه الدوال لتفعيل سلوك مخصّص.
لأنّ دوال التعريف مدمجة في عنصر الكتلة:
- تشير الكلمة الرئيسية
this
في دوال التعريف إلى عنصر الكتلة. أي أنّه يمكن استخدامه للوصول إلى الطرق والسمات العامة في فئةBlock
(أوBlockSvg
).
تحدّد Blockly عددًا صغيرًا من الدوال التي يمكنك استخدامها لتخصيص البلوكات. أكثر هذه الدوال شيوعًا هي init
، والتي يستدعيها Blockly لتهيئة أحد المربّعات وتُستخدم لتحديد شكل المربّع وأسلوبه. للاطّلاع على قائمة كاملة، راجِع الخصائص التي تتضمّن دوال في الفئتَين Block
وBlockSvg
.
تشكّل هذه الخصائص بشكل فعّال واجهة لتعريفات الحظر التي سيتم تنفيذها، وكلها اختيارية.
يمكن أن تتضمّن تعريفات الحظر أيضًا دوال مخصّصة، ولكن لن يستدعي Blockly هذه الدوال مباشرةً. وبدلاً من ذلك، يمكن استخدامها لتنفيذ وظائف أخرى. على سبيل المثال، يمكن لمعالج الأحداث على مستوى الكتلة (الخاصية Block.onchange
) تفويض أحداث مختلفة إلى دوال مخصّصة مختلفة.
كيفية إنشاء تعريفات الكتل
تتوفّر عدة طرق مختلفة لإنشاء تعريفات الحظر:
- استخدِم "أدوات مطوّري Blockly" لتحديد شكل وأسلوب البلوك. انسخ JSON أو JavaScript الذي تم إنشاؤه إلى الرمز البرمجي وأضِف الرمز المخصّص حسب الحاجة. لمزيد من المعلومات، يُرجى الاطّلاع على أدوات مطوّري Blockly.
- ابحث عن كتلة مشابهة وانسخ تعريفها وعدِّله حسب الحاجة. لمزيد من المعلومات، يُرجى الاطّلاع على تعديل التعريفات الحالية.
- اكتب تعريفًا للكتلة يدويًا. لمزيد من المعلومات، اطّلِع على JSON وJavaScript.