Hello,
I'm coding a new block named "collision" and which verifies if two rectangles have or not an intersection.
But there is an error that I don't understand :
"AssertionError: Assertion failed: Expecting tuple from value block "collision". "
If somebody could have a look at my code and could give me some explanation, it would be nice !
My code in the "my_javascript.js" file :
Blockly.JavaScript['collision'] = function(block) {
var value_x1 = Blockly.JavaScript.valueToCode(block, 'x1', Blockly.JavaScript.ORDER_ATOMIC);
var value_y1= Blockly.JavaScript.valueToCode(block, 'y1', Blockly.JavaScript.ORDER_ATOMIC);
var value_largeur1 = Blockly.JavaScript.valueToCode(block, 'largeur1', Blockly.JavaScript.ORDER_ATOMIC);
var value_hauteur1 = Blockly.JavaScript.valueToCode(block, 'hauteur1', Blockly.JavaScript.ORDER_ATOMIC);
var value_x2 = Blockly.JavaScript.valueToCode(block, 'x2', Blockly.JavaScript.ORDER_ATOMIC);
var value_y2= Blockly.JavaScript.valueToCode(block, 'y2', Blockly.JavaScript.ORDER_ATOMIC);
var value_largeur2 = Blockly.JavaScript.valueToCode(block, 'largeur2', Blockly.JavaScript.ORDER_ATOMIC);
var value_hauteur2 = Blockly.JavaScript.valueToCode(block, 'hauteur2', Blockly.JavaScript.ORDER_ATOMIC);
var code='if('+value_x1+'+'+value_largeur1+'/2<'+value_x2+'-'+value_largeur2+'/2 || '+value_x2+'+'+value_largeur2+'/2<'+value_x1+'-'+value_largeur1+'/2 || '+value_y1+'+'+value_hauteur1+'/2<'+value_y2+'-'+value_hauteur2+'/2 || '+value_y2+'+'+value_hauteur2+'/2<'+value_y1+'-'+value_hauteur1+'/2) return true;\n else return false;';
return code;
};
My code in the "my_block.js" file :
Blockly.Blocks['collision'] = {
init: function() {
this.appendValueInput("x1")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("rectangle 1 : x centre");
this.appendValueInput("y1")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("y centre");
this.appendValueInput("largeur1")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("largeur");
this.appendValueInput("hauteur1")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("hauteur");
this.appendValueInput("x2")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("rectangle 2 : x centre");
this.appendValueInput("y2")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("y centre");
this.appendValueInput("largeur2")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("largeur");
this.appendValueInput("hauteur2")
.setCheck("Number")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField("hauteur");
this.setOutput(true, 'Boolean');
this.setTooltip('');
this.setColour(210);
}
};
Thank you !