0

0

如何将sb3文件转换成html

碧海醫心

碧海醫心

发布时间:2026-02-12 20:31:02

|

466人浏览过

|

来源于php中文网

原创

.sb3文件本质是zip压缩包,解压后需保留哈希命名的资源文件和原目录结构,并通过本地http服务运行含scratch-gui的html页面加载project.json。

如何将sb3文件转换成html

sb3 文件本质是 zip 压缩包,直接解压就能拿到 HTML 所需资源

Scratch 3.0 的 .sb3 文件不是黑盒,它就是一个标准的 ZIP 归档,里面包含 project.json、音频、图像、SVG 等资源。所谓“转成 HTML”,其实是把项目运行所需的全部内容组织起来,用一个 HTML 页面加载 Scratch VM 运行时来执行它。

关键点在于:你不能只提取文件就完事——project.json 里记录的是资源的哈希路径(比如 "md5ext": "abc123.png"),而解压后文件名就是那个哈希名,必须原样保留;否则运行时找不到素材,会白屏或报错 Failed to load resource

  • 用系统自带解压工具或 unzip 命令解压,别用某些压缩软件“自动重命名中文/特殊字符”
  • 解压后目录结构必须保持原样:project.json 在根目录,所有 *.png*.wav 等都在同一层
  • 不要手动改 project.json 里的 md5ext 字段——改了就和文件名对不上

用官方 scratch-gui 启动本地 sb3 需要起一个本地服务

浏览器出于安全策略,禁止从 file:// 协议直接加载 project.json(会触发 CORS 错误,控制台报 Access to XMLHttpRequest at 'file:///...' from origin 'null' has been blocked)。所以必须用 HTTP 服务打开 HTML 页面。

最轻量的做法是用 Node.js 的 http-server 或 Python 内置模块,不装任何构建工具:

立即学习前端免费学习笔记(深入)”;

  • Node 用户:先全局安装 http-servernpm install -g http-server),进到解压后的目录,运行 http-server -p 8080
  • Python 3 用户:进目录后运行 python3 -m http.server 8080
  • 访问 http://localhost:8080 就能看到空白页面——还没加 HTML 入口

最小可用 HTML 文件只需加载 scratch-gui + 指定 sb3 路径

Scratch 官方提供了可离线运行的 scratch-gui 构建产物,不需要自己编译。你只需要一个 HTML 文件,引入它的 JS/CSS,并告诉它加载哪个 project.json

maven使用方法 中文WORD版
maven使用方法 中文WORD版

本文档主要讲述的是maven使用方法;Maven是基于项目对象模型的(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven将你的注意力从昨夜基层转移到项目管理层。Maven项目已经能够知道 如何构建和捆绑代码,运行测试,生成文档并宿主项目网页。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

下载

GitHub releases 页面 下载最新版 scratch-gui-v*.zip(比如 scratch-gui-v3.27.0.zip),解压后把里面的 build/ 整个文件夹复制到你的 sb3 解压目录下(同级)。

然后在该目录新建一个 index.html

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body style="margin:0">
  <div id="app"></div>
  <script src="build/static/js/main.f9e4d6c1.js"></script>
  <script>
    window.scratchGuiOptions = {
      projectUrl: './project.json'
    };
  </script>
</body>
</html>

注意:main.f9e4d6c1.js 名字每次 release 都不同,得按你下载的 build/static/js/ 里实际文件名改;projectUrl 必须是相对路径,且指向解压出的 project.json

常见失败原因:跨域、路径错、资源缺失、版本不匹配

跑不起来?八成卡在这几个地方:

  • 没起本地服务,直接双击 index.html → 浏览器报 CORSnet::ERR_FILE_NOT_FOUND
  • projectUrl 写成 './project.json?time=123' 这类带查询参数的 → Scratch GUI 不识别,静默失败
  • 音频文件是 .mp3 但浏览器不支持(尤其 Safari),换成 .wav.ogg 更稳妥
  • 用了较新的 Scratch 功能(如自定义渲染器、新扩展),但下载的 scratch-gui 版本太旧 → 检查 project.json 顶部的 runtimeVersion,选对应 release
  • 解压时把 project.json 放进了子文件夹(比如 my-project/project.json)→ projectUrl 得同步改成 './my-project/project.json',且所有资源也得在 my-project/

真正麻烦的不是转换动作本身,而是路径和权限这两个隐形关卡——它们不报错,只让画面停在加载动画,或者角色不动、声音不响。多看浏览器开发者工具的 Network 和 Console 标签页,比反复重试更省时间。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

436

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

544

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

317

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

81

2025.09.10

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

244

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

705

2024.03.01

resource是什么文件
resource是什么文件

Resource文件是一种特殊类型的文件,它通常用于存储应用程序或操作系统中的各种资源信息。它们在应用程序开发中起着关键作用,并在跨平台开发和国际化方面提供支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

167

2023.12.20

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

520

2023.06.20

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

4

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.3万人学习

AngularJS教程
AngularJS教程

共24课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 30.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号