שדות תמונה

בשדה תמונה נשמרים מחרוזת כערך, ומחרוזת כטקסט. שלו הוא הערך של התמונה, והטקסט הוא מחרוזת Alt שמתאר/מייצגת את התמונה.

שדה לתמונה

שדה תמונה בבלוק מכווץ

יצירה

JSON

{
  "type": "example_image",
  "message0": "image: %1",
  "args0": [
    {
      "type": "field_image",
      "src": "https://www.gstatic.com/codesite/ph/images/star_on.gif",
      "width": 15,
      "height": 15,
      "alt": "*"
    }
  ]
}

JavaScript

Blockly.Blocks['example_image'] = {
  init: function() {
    this.appendDummyInput()
      .appendField("image:")
      .appendField(new Blockly.FieldImage(
        "https://www.gstatic.com/codesite/ph/images/star_on.gif",
        15,
        15,
        "*"));
  }
};

ב-constructor של התמונות הוא לוקח את:

פרמטר תיאור
src מחרוזת שמצביעה על קובץ תמונה מסוג Raster.
width יש להפעיל Cast למספר שאינו אפס.
height יש להפעיל Cast למספר שאינו אפס.
opt_alt (אופציונלי) מחרוזת שמתארת או מייצגת את התמונה באופן מדויק. אם הערך הוא null או undefined, המערכת תשתמש במחרוזת ריקה.
opt_onClick (אופציונלי) פונקציה שצריך להפעיל כשלוחצים על השדה.
opt_flipRtl (אופציונלי) ערך בוליאני. אם הערך שלו הוא true, התמונה הופכת מימין לשמאל. ברירת המחדל היא false. שימושית ל"פנייה שמאלה" וגם "לפנות ימינה" סמלים.

סריאליזציה

לא ניתן לערוך את שדות התמונה בסדרה.

handler של קליקים

שדה התמונה לא מקבל מאמת; במקום זאת, הוא מקבל במפורש לפונקציה שנשלחת בכל פעם שלוחצים על השדה. כלומר, תמונות יכולים לפעול כמו לחצנים שקיימים על בלוקים.

ניתן להגדיר את ה-handler של לחיצה על הלחצן בJavaScript Constructor או באמצעות הפונקציה setOnClickHandler.

הנה דוגמה ל-handler של קליקים שמכווץ את הבלוק שנקראה.

function() {
    this.getSourceBlock().setCollapsed(true);
}