【问题标题】:Blockly Example of Multiple Workspaces多个工作区的块状示例
【发布时间】:2017-10-15 23:11:50
【问题描述】:

我正在尝试创建一个平台,让学生可以使用 blockly 进行面对面的代码挑战。我在想象这样的事情:

文档中提到了block factory 的“多个工作区”,但我觉得我可能在这里重新发明轮子,所以在我开始之前,这样的东西是否已经存在?理想情况下,连接到应用引擎,这样学生就可以从任何其他学生那里获取代码并进行测试,看看他们的代码比较如何?

【问题讨论】:

    标签: blockly


    【解决方案1】:

    是的,它存在!我们在开发者工具中使用它来提供编辑器和预览。要查看的两个演示是 Multi-Playground (src) 和 Mirrored Workspaces (src)。

    您会注意到在多操场中,我们只是在每个 div 上调用 Blockly.inject(..)

    function start() {
      // ...
      startBlocklyInstance('VertStartLTR', false, false, 'start', toolbox);
      startBlocklyInstance('VertStartRTL', true, false, 'start', toolbox);
      startBlocklyInstance('VertEndLTR', false, false, 'end', toolbox);
      startBlocklyInstance('VertEndRTL', true, false, 'end', toolbox);
      startBlocklyInstance('HorizontalStartLTR', false, true, 'start', toolbox);
      startBlocklyInstance('HorizontalStartRTL', true, true, 'start', toolbox);
      startBlocklyInstance('HorizontalEndLTR', false, true, 'end', toolbox);
      startBlocklyInstance('HorizontalEndRTL', true, true, 'end', toolbox);
    }
    
    function startBlocklyInstance(suffix, rtl, horizontalLayout, position,
        toolbox) {
      options.rtl = rtl;
      options.toolbox = toolbox;
      options.horizontalLayout = horizontalLayout;
      options.toolboxPosition = position;
      Blockly.inject('blocklyDiv' + suffix, options);
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-02
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多