Blockly重复块无法同时与自定义块和预定义块一起使用。
创始人
2024-12-22 21:00:47
0

可以尝试使用JavaScript中的Generator功能来解决这个问题。以下是一个示例代码,在其中我们定义了一个自定义块“myblock”,并且我们使用一个预定义块来调用它:

Blockly.JavaScript['myblock'] = function(block) {
  // Code to be executed when myblock is called
}

function* repeat() {
  // Code to be executed inside of the repeat block
}

Blockly.JavaScript['controls_repeat_ext'] = function(block) {
  var count = Blockly.JavaScript.valueToCode(block, 'TIMES',
      Blockly.JavaScript.ORDER_COMMA) || '0';
  var branch = Blockly.JavaScript.statementToCode(block, 'DO');
  branch = Blockly.JavaScript.addLoopTrap(branch, block.id);
  var code = '';
  code += 'for (var count = 0; count < ' + count + '; count++) {\n';
  code += branch + '\n';
  code += '  yield;\n';
  code += '}\n';
  return code;
}

这个JavaScript代码中我们使用了Generator功能,在生成的for循环中使用yield来确保循环在执行预定义块并执行自定义块后,可以重新回到循环顶部。因此,在这个示例代码中,如果我们在Blockly workspace中使用一个重复块来调用repeat生成器函数,那么该循环将会在执行了myblock和原始重复块中的语句后重新回到循环顶部,从而达到预期的效果。

相关内容

热门资讯

透视app“哈糖大菠萝攻略”透... 透视app“哈糖大菠萝攻略”透视辅助机制(果然是真的有挂)1、起透看视 哈糖大菠萝攻略透明视辅助2、...
透视插件!德普之星透视辅助软件... 透视插件!德普之星透视辅助软件是真的吗,(德普之星)真是真的是有挂,微扑克教程(有挂插件);1、德普...
透视游戏“德州透视插件”透视辅... 透视游戏“德州透视插件”透视辅助软件(一贯是真的有挂);1、操作简单,无需注册,只需要使用手机进行登...
透视app!德扑圈有透视吗,德... 透视app!德扑圈有透视吗,德普辅助软件,可靠教程(有挂黑科技);1、在德扑圈有透视吗ai机器人技巧...
透视数据“uupoker透视”... 透视数据“uupoker透视”透视辅助安装(切实有挂)1)uupoker透视辅助挂:进一步探索uup...
透视挂!德普之星app安卓版破... 透视挂!德普之星app安卓版破解版,(德普之星)其实真的有挂,攻略教程(有挂介绍);1、操作简单,无...
透视安卓版“newpoker脚... 透视安卓版“newpoker脚本”透视辅助下载(真是真的有挂);1、金币登录送、破产送、升级送、活动...
透视计算“德州透视脚本”透视辅... 透视计算“德州透视脚本”透视辅助app(果然有挂)1、每一步都需要思考,不同水平的挑战会更加具有挑战...
透视透视!德普之星辅助器怎么用... 透视透视!德普之星辅助器怎么用,德扑圈有透视吗,必赢教程(有挂教程);亲,关键说明,德普之星辅助器怎...
透视有挂“德州辅助工具到底怎么... 透视有挂“德州辅助工具到底怎么样”透视辅助挂(切实有挂)1、金币登录送、破产送、升级送、活动送。详细...