You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MIT Scratch二次开发:修改内置积木、创建自定义积木方法咨询

Scratch-GUI自定义积木操作步骤

前置配置说明

你当前只安装了scratch-gui的默认依赖是没法直接修改积木的,因为scratch-gui默认依赖的是预编译好的scratch-blocks、scratch-vm npm包,没有源码可编辑。你需要先把这两个依赖换成本地源码版本,操作如下:

  • 把scratch-blocks、scratch-vm两个官方仓库克隆到和scratch-gui同级的目录
  • 分别进入两个仓库目录执行npm install、npm link做本地软链接
  • 回到scratch-gui目录执行npm link scratch-blocks scratch-vm关联本地依赖,之后启动服务就能识别你对这两个依赖的修改了

需求1:修改内置=积木的显示文本、颜色,不改动运行逻辑

所有积木的外观定义都在scratch-blocks仓库中:

  • 打开scratch-blocks/core/blocks_operators.js文件,搜索operator_equals找到=积木的定义代码
  • 找到message0字段,把原来的%1 = %2改成%1 equal %2,即可修改显示文本,完全不会影响运行逻辑
  • 同个定义块下修改colour字段的值,改成你想要的色值即可调整积木颜色
  • 修改完成后在scratch-blocks目录执行npm run build编译,重启scratch-gui的服务就能看到效果

需求2:新增自定义block积木

需要同时修改scratch-blocks、scratch-vm、scratch-gui三个仓库的对应文件:

  1. 定义积木外观(scratch-blocks)
    • 打开对应分类的积木定义文件,比如你要加在运算分类就打开scratch-blocks/core/blocks_operators.js,新增积木定义代码:
    Blockly.Blocks['custom_self_define_block'] = {
      init: function() {
        this.jsonInit({
          "message0": "自定义积木 %1", // 积木显示的文本,%1对应参数占位符
          "args0": [
            {
              "type": "input_value",
              "name": "INPUT_PARAM",
              "check": "Number"
            }
          ],
          "category": Blockly.Categories.operators, // 所属分类
          "colour": '#4C97FF', // 积木颜色
          "output": "Number", // 积木返回值类型
          "tooltip": "这是自定义的积木"
        });
      }
    };
    
    • 在scratch-blocks/msg/messages.js里把你定义的积木IDcustom_self_define_block加到导出列表中,执行npm run build编译scratch-blocks
  2. 定义积木运行逻辑(scratch-vm)
    • 打开对应分类的逻辑处理文件,比如运算分类就打开scratch-vm/src/blocks/scratch3_operators.js
    • 在getPrimitives方法的返回对象中新增积木逻辑:
    'custom_self_define_block': (args, util) => {
      // 这里写你的积木逻辑,比如把输入的参数+2返回
      return Number(args.INPUT_PARAM) + 2;
    }
    
  3. 注册积木到GUI(scratch-gui)
    • 打开scratch-gui/src/lib/blocks.js,把你的积木IDcustom_self_define_block加到对应分类的积木数组中
    • 重启scratch-gui的npm start服务,就能在对应分类的积木列表里看到你新增的自定义积木了

内容的提问来源于stack exchange,提问作者redoc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:54:01