Campos de imagem

Um campo de imagem armazena uma string como seu valor e uma string como seu texto. Seu o valor é o src da imagem, enquanto o texto é uma string alternativa que descrevem/representam a imagem.

Campo "Image"

Campo de imagem no bloco recolhido

Criação

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,
        "*"));
  }
};

O construtor de imagem recebe:

Parâmetro Descrição
src Uma string que aponta para um arquivo de imagem de raster.
width É necessário fazer a conversão para um número diferente de zero.
height É necessário fazer a conversão para um número diferente de zero.
opt_alt (Opcional) Uma string que descreve/representa a imagem com precisão. Se for null ou undefined, uma string vazia será usada.
opt_onClick (Opcional) Uma função a ser chamada quando o campo é clicado.
opt_flipRtl (Opcional) Um booleano. Se for true, a imagem será invertida no eixo vertical quando estiver no modo da direita para a esquerda. O padrão é false. Útil para "virar à esquerda" e "vire à direita" ícones.

Serialização

Os campos de imagem não são serializáveis.

Gerenciador de cliques

O campo de imagem não aceita um validador. mas aceita explicitamente que é chamada sempre que o campo é clicado. Isso significa que as imagens podem atuar como botões que existem em blocos.

O gerenciador ao clicar pode ser definido no Construtor do JavaScript ou com a função setOnClickHandler.

Aqui está um exemplo de um manipulador no clique que recolhe o bloco quando chamou.

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