Definire i blocchi personalizzati

I blocchi sono ciò che utilizzi per programmare. Rappresentano espressioni e istruzioni in linguaggi di programmazione basati su testo.

Per ulteriori informazioni sui blocchi e sulle relative parti, consulta il glossario visivo.

Definizione del blocco

Una definizione del blocco specifica le connessioni e i campi dei pezzi del puzzle nel blocco. La maggior parte dell'aspetto e dello stile dei blocchi viene specificata in altri modi. La stringa (di solito codice) in cui viene convertito il blocco è definita come generatore di codice blocco.

Il modo più semplice per definire blocchi semplici è utilizzare JSON.

Questo snippet di codice definisce un blocco "avanza" con collegamenti successivo e precedente e un campo per la distanza.

// Create the definition.
const definitions = Blockly.common.createBlockDefinitionsFromJsonArray([
  {
    // The type is like the "class name" for your block. It is used to construct
    // new instances. E.g. in the toolbox.
    type: 'my_custom_block',
    // The message defines the basic text of your block, and where inputs or
    // fields will be inserted.
    message0: 'move forward %1',
    args0: [
      // Each arg is associated with a %# in the message.
      // This one gets substituted for %1.
      {
        // The type specifies the kind of input or field to be inserted.
        type: 'field_number',
        // The name allows you to reference the field and get its value.
        name: 'FIELD_NAME',
      }
    ],
    // Adds an untyped previous connection to the top of the block.
    previousStatement: null,
    // Adds an untyped next connection to the bottom of the block.
    nextStatement: null,
  }
]);

// Register the definition.
Blockly.common.defineBlocks(definitions);

Un blocco per andare avanti

Per scoprire di più su come definire i blocchi e aggiungerli alla cassetta degli attrezzi, consulta la Panoramica dei blocchi personalizzati.