حقول الزاوية

يخزن حقل الزاوية رقمًا كقيمته، والسلسلة كنص له. وتتألّف قيمته من رقم بين 0 و360 (يمكن تغيير هذا النطاق)، بينما يمكن أن يكون نصه عبارة عن أي سلسلة يتم إدخالها في أداة التعديل.

حقل الزاوية

حقل بزاوية مع محرِّر

حقل الزاوية مصغَّر

إنشاء الفيديوهات

JSON

{
  "type": "example_angle",
  "message0": "angle: %1",
  "args0": [
    {
      "type": "field_angle",
      "name": "FIELDNAME",
      "angle": 90
    }
  ]
}

JavaScript

Blockly.Blocks['example_angle'] = {
  init: function() {
    this.appendDummyInput()
        .appendField('angle:')
        .appendField(new Blockly.FieldAngle(90), 'FIELDNAME');
  }
};

تستخدم الدالة الإنشائية للزاوية قيمة اختيارية وvalidator اختيارية. يتم استخدام الصفر كقيمة افتراضية إذا لم يتم إعطاء أي قيمة أو لم يتم تحويل القيمة المقدمة إلى رقم.

التسلسل

JSON

يبدو تنسيق JSON لحقل الزاوية على النحو التالي:

{
  "fields": {
    "FIELDNAME": 0
  }
}

حيث تكون FIELDNAME سلسلة تشير إلى حقل زاوية، والقيمة هي القيمة المطلوب تطبيقها على الحقل. تتبع القيمة نفس القواعد مثل قيمة الدالة الإنشائية.

XML

يبدو نموذج XML لحقل الزاوية على النحو التالي:

<field name="FIELDNAME">0</field>

تتضمّن السمة name سلسلة تشير إلى حقل زاوية، ويكون النص الداخلي هو القيمة المطلوب تطبيقها على الحقل. تتبع قيمة النص الداخلية نفس القواعد مثل قيمة الدالة الإنشائية.

التخصيص

الانطباق

تغيّر السمة Blockly.FieldAngle.ROUND القيم التي "ينطبق" عليها "منتقي الزوايا" عند استخدام الماوس.

في ما يلي مثال بقيمة ROUND تساوي 70:

حقل بزاوية قيمة ROUND يبلغ 70

القيمة التلقائية للسمة ROUND هي 15. اضبطه على 0 إذا كنت تريد إيقاف الالتقاط.

هذه السمة موقع عام، لذا سيتم تعديل جميع حقول الزاوية عند ضبطها.

اتجاهات الطريق

تغير السمة Blockly.FieldAngle.CLOCKWISE الاتجاه الذي يؤدي إلى زيادة قيمة الزاوية. ويؤدي ضبط هذه القيمة على true إلى زيادة الزاوية عند تحريك أداة الاختيار في اتجاه عقارب الساعة، وضبطها على false، ما يؤدي إلى زيادة الزاوية عند تحريكها عكس اتجاه عقارب الساعة.

تم ضبط CLOCKWISE على "صحيح"

حقل الزاوية مع ضبط CLOCKWISE على &quot;صحيح&quot;

تم ضبط CLOCKWISE على خطأ

حقل الزاوية مع ضبط CLOCKWISE على &quot;خطأ&quot;

القيمة التلقائية للخاصية CLOCKWISE هي false، ما يعني أنّ الحركة عكس اتجاه عقارب الساعة ستؤدّي إلى زيادة الزاوية.

هذه السمة موقع عام، لذا سيتم تعديل جميع حقول الزاوية عند ضبطها.

الموضع صفر

تحدّد السمة Blockly.FieldAngle.OFFSET الموضع 0 درجة. وتتم محاذاة صفر درجات تلقائيًا مع المحور س الموجبة (باتجاه اليمين)، ومن ثم "تستبدل" هذه الخاصية ذلك الموضع بعدد من الدرجات.

أداة اختيار الزاوية صفر في اليمين

أداة اختيار الزاوية صفر في الأعلى

القيمة التلقائية للسمة OFFSET هي 0، ما يعني أنّه تتم محاذاة صفر درجات مع المحور س الإيجابي.

هذا موقع عام، لذا سيتم تعديل جميع حقول الزاوية عند ضبطها.

النطاق

تحدّد السمة Blockly.FieldAngle.WRAP نطاق القيم. نطاق القيم يساوي (-360 + WRAP, WRAP). وهذا يعني أن القيمة WRAP التي تبلغ 360 ستمنح النطاق (0, 359.9) وقيمة WRAP التي تبلغ 180 ستمنح النطاق (-179.9, 180).

منتقي زاوية مع قيمة التفاف 180

القيمة التلقائية للسمة WRAP هي 360، وهذا يعني أنّ نطاق الحقل هو (0, 359.9).

هذا موقع عام، لذا سيتم تعديل جميع حقول الزاوية عند ضبطها.

حجم أداة اختيار الزاوية

تُغيّر السمة Blockly.FieldAngle.HALF حجم أداة اختيار الزاوية. تحدد هذه القيمة نصف قطر الدائرة الخارجية بالبكسل.

منتقي الزاوية مع حجم المحرّر التلقائي

منتقي الزوايا مع أداة تعديل كبيرة

القيمة التلقائية للسمة HALF هي 50.

هذا موقع عام، لذا سيتم تعديل جميع حقول الزاوية عند ضبطها.

الأوضاع الشائعة

يمكن استخدام اتجاه و موضع الصفر معًا لإنشاء بعض المجموعات الممتعة. إليك أمران شائعان:

منقلة

0 درجة هي اليمين، و90 درجة أعلى.

Blockly.FieldAngle.CLOCKWISE = false;
Blockly.FieldAngle.OFFSET = 0;

تم ضبط أداة اختيار الزوايا كمنقلة.

بوصلة

ارتفعت درجة 0 درجة إلى أعلى، و90 درجة صحيحة.

Blockly.FieldAngle.CLOCKWISE = true;
Blockly.FieldAngle.OFFSET = 90;

تم ضبط أداة اختيار الزاوية كبوصلة

إنشاء مدقق زاوية

قيمة حقل الزاوية هي رقم، لذلك يجب أن تقبل أي أداة تحقّق من صحة رقم وتعرض رقمًا أو null أو undefined.

في ما يلي مثال على أداة التحقق التي تفرض أن تكون القيمة مضاعفة لـ 30:

function(newValue) {
    return Math.round(newValue / 30) * 30;
}

أداة اختيار الزوايا مع أداة التحقّق

لاحظ كيف لا تزال خاصية [ROUND](#snapping) في حقل الزاوية مضبوطة على 15، وبالتالي فإن العناصر الرسومية للحقل تعرض مضاعفات 15، بدلاً من 30.