Javascript 在块中一起工作多个块
我有问题使用块 每当我尝试使用两个块时,只会在稍后执行,而不会一起执行以获得所需的输出 在这里,我使用了两个块名移动和旋转,我需要,但块应该一起工作,但它不会发生,而是一次只发生一个块效果Javascript 在块中一起工作多个块,javascript,html,blockly,Javascript,Html,Blockly,我有问题使用块 每当我尝试使用两个块时,只会在稍后执行,而不会一起执行以获得所需的输出 在这里,我使用了两个块名移动和旋转,我需要,但块应该一起工作,但它不会发生,而是一次只发生一个块效果 **custom_morph.js** Blockly.Blocks['Steps']={ init:function(){ 这个.appendDummyInput().appendField(“移动”).appendField(新的Blockly.FieldNumber(0),“步骤”).appendFi
**custom_morph.js**
Blockly.Blocks['Steps']={
init:function(){
这个.appendDummyInput().appendField(“移动”).appendField(新的Blockly.FieldNumber(0),“步骤”).appendField(“步骤”);
此.setInputsLine(false);
此.setPrevious语句(!0);
此.setNextStatement(!0);
这是一种颜色(230);
此.setTooltip(“”);
此.setHelpUrl(“”);
}
};
var距离=0;
JavaScript['Steps']=函数(block){
//TODO:将JavaScript组装到代码变量中。
var step=block.getFieldValue('steps');
距离+=数量(步);
var code=document.getElementById('goofy').style.transform='translateX('+distance+'px');
返回码;
};
块状。块状['xrotate']={
init:function(){
此.appendValueInput(“角度”)
.setCheck(空)
.setAlign(块状.右对齐)
.appendField(新的块式.FieldDropdown([“顺时针”、“C”]、[“逆时针”、“A”])、“R_角”)
.appendField(新的块状FIELDANGE(90),“角度”)
.appendField(“学位”);
此.setPrevious语句(!0);
此.setNextStatement(!0);
这是一种颜色(150);
此.setTooltip(“”);
此.setHelpUrl(“”);
}
};
var度=0;
JavaScript['xrotate']=函数(block){
var下拉列表_r_角度=block.getFieldValue('r_角度');
var angle_angle=block.getFieldValue(“角度”);
度+=数量(角度);
var value_angle=Blockly.JavaScript.valueToCode(block'angle',Blockly.JavaScript.ORDER_原子);
//TODO:将JavaScript组装到代码变量中。
如果(下拉菜单\u r\u角度=='C'){
代码=document.getElementById('goofy').style.transform='rotate('+degree+'deg');
}
否则{
code=document.getElementById('goofy').style.transform='rotate(+''-'+degree++'deg');
}
返回码;
};代码>
在Blockly中使用Jquery
/*{
显示:内联块;
}*/
.transmove{
边框:1px纯灰;
高度:480px;
宽度:500px;
溢出:自动;
}
#傻瓜{
填充:100px;
宽度:150px;
高度:150像素;
}
#代码块{
边框:1px纯灰;
}
运行Javascript
var workspace=Blockly.inject('blocklyDiv'{
工具箱:document.getElementById('toolbox')
});
函数runcode(){
var code=Blockly.JavaScript.workspaceToCode(workspace);
document.getElementById('goofy')。值=代码;
}
您可能需要使用并行/事件驱动程序来解决此问题。