কোণ ক্ষেত্র

একটি কোণ ক্ষেত্র একটি সংখ্যাকে তার মান হিসাবে এবং একটি স্ট্রিং এর পাঠ্য হিসাবে সংরক্ষণ করে। এর মান হল 0 এবং 360 এর মধ্যে একটি সংখ্যা (এই পরিসরটি পরিবর্তন করা যেতে পারে), যখন এর পাঠ্যটি তার সম্পাদকের মধ্যে প্রবেশ করা যেকোনো স্ট্রিং হতে পারে।

কোণ ক্ষেত্র

সম্পাদক সহ কোণ ক্ষেত্র

সঙ্কুচিত কোণ ক্ষেত্র

সৃষ্টি

JSON

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

জাভাস্ক্রিপ্ট

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

কোণ কনস্ট্রাক্টর একটি ঐচ্ছিক মান এবং একটি ঐচ্ছিক যাচাইকারী নেয়। শূন্য ডিফল্ট মান হিসাবে ব্যবহৃত হয় যদি কোন মান দেওয়া না হয় বা প্রদত্ত মানটি একটি সংখ্যায় কাস্ট না করে।

সিরিয়ালাইজেশন

JSON

একটি কোণ ক্ষেত্রের জন্য JSON দেখতে এরকম দেখাচ্ছে:

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

যেখানে FIELDNAME হল একটি স্ট্রিং যা একটি কোণ ক্ষেত্রের উল্লেখ করে এবং মান হল ক্ষেত্রে প্রয়োগ করা মান। মানটি কনস্ট্রাক্টর মান হিসাবে একই নিয়ম অনুসরণ করে।

এক্সএমএল

একটি কোণ ক্ষেত্রের জন্য XML দেখতে এরকম দেখাচ্ছে:

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

যেখানে name অ্যাট্রিবিউটে একটি স্ট্রিং রয়েছে যা একটি কোণ ক্ষেত্রের উল্লেখ করে এবং ভিতরের পাঠ্যটি ক্ষেত্রে প্রয়োগ করার মান। অভ্যন্তরীণ টেক্সট মান কনস্ট্রাক্টর মান হিসাবে একই নিয়ম অনুসরণ করে।

কাস্টমাইজেশন

স্ন্যাপিং

Blockly.FieldAngle.ROUND প্রপার্টি একটি মাউস ব্যবহার করার সময় অ্যাঙ্গেল পিকার "স্ন্যাপ" এর মান কী পরিবর্তন করে।

এখানে 70 এর ROUND মান সহ একটি উদাহরণ রয়েছে:

70 এর রাউন্ড মান সহ কোণ ক্ষেত্র

ROUND প্রপার্টি ডিফল্ট 15। আপনি স্ন্যাপিং অক্ষম করতে চাইলে এটি 0 এ সেট করুন।

এটি একটি বিশ্বব্যাপী সম্পত্তি, তাই এটি সেট করার সময় সমস্ত কোণ ক্ষেত্র পরিবর্তন করবে।

দিকনির্দেশনা

Blockly.FieldAngle.CLOCKWISE বৈশিষ্ট্য কোন দিক পরিবর্তন করে কোণের মান বৃদ্ধি করে। এই মানটিকে true সেট করলে নির্বাচককে ঘড়ির কাঁটার দিকে সরানো হলে কোণ বৃদ্ধি পায়, এটিকে false সেট করা হলে ঘড়ির কাঁটার বিপরীতে সরানো হলে কোণ বৃদ্ধি পায়।

CLOCKWISE সত্যে সেট করা হয়েছে৷

CLOCKWISE সহ কোণ ক্ষেত্র সত্যে সেট করা হয়েছে৷

CLOCKWISE মিথ্যাতে সেট করা হয়েছে

CLOCKWISE সহ কোণ ক্ষেত্র মিথ্যাতে সেট করা হয়েছে৷

CLOCKWISE প্রপার্টি ডিফল্ট করে false , মানে ঘড়ির কাঁটার বিপরীতে গতি কোণকে বাড়িয়ে তুলবে।

এটি একটি বিশ্বব্যাপী সম্পত্তি, তাই এটি সেট করার সময় সমস্ত কোণ ক্ষেত্র পরিবর্তন করবে।

শূন্য অবস্থান

Blockly.FieldAngle.OFFSET প্রপার্টি সেট করে যেখানে 0 ডিগ্রি অবস্থিত। ডিফল্টরূপে শূন্য ডিগ্রী ধনাত্মক x-অক্ষের সাথে সারিবদ্ধ হয় (ডান দিকে) এবং তারপর এই বৈশিষ্ট্যটি সেই অবস্থানটিকে বেশ কয়েকটি ডিগ্রি দ্বারা "অফসেট" করে।

ডানদিকে কোণ চয়নকারী শূন্য

শীর্ষে কোণ চয়নকারী শূন্য

OFFSET প্রপার্টি ডিফল্ট 0, মানে শূন্য ডিগ্রী ধনাত্মক x-অক্ষের সাথে সারিবদ্ধ।

এটি একটি বিশ্বব্যাপী সম্পত্তি তাই এটি সেট করার সময় সমস্ত কোণ ক্ষেত্র পরিবর্তন করবে।

পরিসর

Blockly.FieldAngle.WRAP বৈশিষ্ট্য মানগুলির পরিসর সেট করে। মানের পরিসীমা সমান (-360 + WRAP, WRAP) । এর মানে হল যে 360-এর একটি WRAP মান একটি পরিসীমা দেবে (0, 359.9) এবং 180-এর একটি WRAP মান একটি পরিসীমা দেবে (-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-এ সেট করা আছে, তাই ক্ষেত্রের গ্রাফিকাল উপাদানগুলি 30-এর পরিবর্তে 15-এর গুণিতক প্রদর্শন করে।