Açı alanları

Açı alanında değer olarak sayı, metin olarak ise dize depolanır. Değeri 0 ile 360 arasında bir sayıdır (bu aralık değiştirilebilir), metni ise düzenleyicisine girilen herhangi bir dize olabilir.

Açı alanı

Düzenleyicili açı alanı

Daraltılmış açı alanı

içerik üretimi

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');
  }
};

Açı oluşturucu, isteğe bağlı bir değer ve isteğe bağlı bir validator alır. Herhangi bir değer verilmezse veya belirtilen değer bir sayıya dönüştürülmezse varsayılan değer olarak sıfır kullanılır.

Serileştirme

JSON

Bir açı alanı için JSON şöyle görünür:

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

Burada FIELDNAME, bir açı alanına referans veren bir dizedir. Değer ise alana uygulanacak değerdir. Değer, oluşturucu değeriyle aynı kuralları izler.

XML

Bir açı alanı için XML şöyle görünür:

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

Burada name özelliği, bir açı alanına referans veren bir dize içerir ve iç metin alana uygulanacak değerdir. İç metin değeri, yapıcı değeriyle aynı kuralları izler.

Özelleştirme

Tutturma

Blockly.FieldAngle.ROUND özelliği, fare kullanırken açı seçicinin "tutacağı" değeri değiştirir.

ROUND değeri 70 olan bir örnek:

ROUND değeri 70 olan açı alanı

ROUND özelliğinin varsayılan değeri 15'tir. Yapışmayı devre dışı bırakmak istiyorsanız bu değeri 0 olarak ayarlayın.

Bu global bir özellik olduğu için ayarlandığında tüm açı alanlarını değiştirir.

Yön belirleme

Blockly.FieldAngle.CLOCKWISE özelliği, açı değerinin artmasına neden olacak yönü değiştirir. Bu değerin true olarak ayarlanması, seçici saat yönünde hareket ettirilirken açının artmasını sağlar. false olarak ayarlanması, saat yönünün tersine hareket ettirildiğinde açının artmasını sağlar.

CLOCKWISE doğru değerine ayarlandı

CLOCKWISE açısı doğru olarak ayarlanmış açı alanı

CLOCKWISE yanlış değerine ayarlandı

CLOCKWISE açı alanı yanlış değerine ayarlanmış

CLOCKWISE özelliği varsayılan olarak false değerine ayarlanır. Bu da saat yönünün tersine hareket etmenin açıyı artıracağı anlamına gelir.

Bu global bir özellik olduğu için ayarlandığında tüm açı alanlarını değiştirir.

Sıfır konum

Blockly.FieldAngle.OFFSET özelliği, 0 derecenin bulunduğu yeri ayarlar. Varsayılan olarak sıfır derece, pozitif x ekseniyle (sağa doğru) hizalanır ve daha sonra bu özellik, bu konum için belirli bir ölçüde "değişiklikler" yapar.

Sağdaki açı seçici sıfır

Üstte açı seçici sıfır

OFFSET özelliği varsayılan olarak 0 değerine ayarlanır. Diğer bir deyişle, sıfır derece pozitif x ekseniyle hizalanır.

Bu global bir özellik olduğu için ayarlandığında tüm açı alanlarını değiştirir.

Aralık

Blockly.FieldAngle.WRAP özelliği, değer aralığını ayarlar. Değer aralığı (-360 + WRAP, WRAP) değerine eşit. Buna göre, WRAP değeri 360 olarak (0, 359.9), WRAP değeri 180 olduğunda (-179.9, 180) aralığı verilir.

Sarma değeri 180 olan açı seçici

WRAP özelliği varsayılan olarak 360 değerine ayarlanır, yani alan aralığı (0, 359.9) olur.

Bu global bir özellik olduğu için ayarlandığında tüm açı alanlarını değiştirir.

Açı seçici boyutu

Blockly.FieldAngle.HALF özelliği, açı seçicinin boyutunu değiştirir. Bu değer, dış dairenin yarıçapını piksel cinsinden tanımlar.

Varsayılan düzenleyici boyutuna sahip açı seçici

Büyük düzenleyicili açı seçici

HALF özelliğinin varsayılan değeri 50'dir.

Bu global bir özellik olduğu için ayarlandığında tüm açı alanlarını değiştirir.

Ortak modlar

Yön ve sıfır konum, bazı eğlenceli kombinasyonlar oluşturmak için birlikte kullanılabilir. Sık karşılaşılan iki durum şunlardır:

Açıölçer

0 derece sağ, 90 derece yukarı.

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

Açı seçici olarak yapılandırılmış açı seçici

Pusula

0 derece yukarı, 90 derece sağ.

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

Pusula olarak yapılandırılmış açı seçici

Açı doğrulayıcı oluşturma

Açı alanının değeri sayıdır. Bu nedenle, tüm doğrulayıcılar bir sayı kabul etmeli ve bir sayı (null veya undefined) döndürmelidir.

Değeri 30'un katı olmaya zorlayan bir doğrulayıcı örneğini burada bulabilirsiniz:

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

Doğrulayıcılı açı seçici

Açı alanının [ROUND](#snapping) özelliğinin hâlâ 15'e ayarlandığına, dolayısıyla alanın grafik öğelerinde 30 yerine 15'in katlarını gösterdiğine dikkat edin.