画像フィールド

image フィールドには文字列が値として格納され、文字列がテキストとして格納されます。その value は画像の src であり、text は 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,
        "*"));
  }
};

イメージ コンストラクタは以下を受け取ります。

パラメータ 説明
src ラスター画像ファイルを指す文字列。
width ゼロ以外の数値にキャストする必要があります。
height ゼロ以外の数値にキャストする必要があります。
opt_alt (省略可)画像を正確に表す文字列。null または undefined の場合は空の文字列が使用されます。
opt_onClick (省略可)フィールドをクリックしたときに呼び出す関数。
opt_flipRtl (省略可)ブール値。true の場合、右から左へのモードのときに画像が縦軸に沿って反転します。デフォルトは false です。「左折」に便利です「右折して」追加できます。

シリアル化

画像フィールドはシリアル化できません。

クリック ハンドラ

image フィールドにバリデータを指定することはできません。明示的に指定するのではなく、 フィールドがクリックされるたびに呼び出される関数です。つまり ブロック上のボタンのように機能します。

クリック時のハンドラは、JavaScript コンストラクタで設定するか、setOnClickHandler 関数を使用して設定できます。

クリック時にブロックが折りたたまれる 呼び出すことができます。

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