Je suis nouveau à bloc et je joue autour de la création de blocs personnalisés.Imbrication de blocs blocs personnalisés en boucles et la génération du code
J'ai créé un nouveau fichier (move.js) dans le dossier des blocs et j'ai créé des blocs personnalisés. Ils ont tous une structure similaire, comme celui ci-dessous
Blockly.Blocks['move_forward'] = {
init: function() {
this.appendDummyInput()
.appendField("Move Forward");
this.appendDummyInput()
.appendField(new Blockly.FieldImage("http://iosites.org/robotino/front.png", 20, 20, "Forward"));
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
this.setColour(120);
this.setTooltip('');
this.setHelpUrl('http://www.example.com/');
}
};
Puis j'ai créé un nouveau fichier (move.js) dans les générateurs/javascript dossier et il ai écrit des générateurs très simples pour les blocs (ils reviennent seulement lettre). Les blocs fonctionnent bien et renvoient le texte auquel ils sont supposés lorsqu'ils sont empilés à l'extérieur des boucles. Mais quand je les niche à l'intérieur d'une répétition ou d'une boucle, il se passe quelque chose et il n'y a rien de retour. Je l'ai fait quelques tests et je pense que le problème se produit lorsque le
Blockly.JavaScript.statementToCode
est appelé à l'intérieur du générateur de répétition pour mes blocs personnalisés.