# sc2py **Repository Path**: fensl/sc2py ## Basic Information - **Project Name**: sc2py - **Description**: 将scratch游戏移植到pytho的小项目,目的是帮助老师们快速开发课程。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/fensl/sc2py - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2022-05-18 - **Last Updated**: 2025-02-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sc2py ## 0、介绍 本人从事少儿编程行业,小孩子们一般最开始学的是scratch,后面开始学习Python,然后C++。 我目前开源的两个仓库主要功能分别如下: | 序号 | 模块名称 | 介绍 | 连接 | | ---- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | 1. | sc2py.py | 存放了一些sc的项目,由老师们移植成Python代码,主要用的是**pygame、pgzero、cpgzh**,目的是帮助老师们快速开发课程以及学生们对比学习。 | [https://gitee.com/fensl/sc2py](https://gitee.com/fensl/sc2py) | | 2. | py2app.py | 用于打包python项目,不光可以用于pgzero的作品,自己写的其他脚本也可以用它来打包,目前只对pgzero和cpgzh库做了特殊优化。如果朋友们发现有些项目打包不正常,请与我联系,我们再做特殊优化和支持。 | [https://gitee.com/deepin-opensource/py2app](https://gitee.com/deepin-opensource/py2app) | 本仓库主要存放的是scratch游戏移植到pytho的小项目,目的是帮助老师们快速开发课程以及学生们对比学习。 当然也欢迎大家双向移植,不只是sc2py,还可以py2sc。 如果移植有难度,老铁们可以先建好文件夹,挖好坑,其他老师也可以去帮忙移植。 ## 1、软件架构 scratch+python+guizero++cairosvg ## 2、安装教程 1. git clone https://gitee.com/fensl/sc2py.git 2. 双击运行`00-scParser/gtk3-runtime-3.24.31-2022-01-04-ts-win64.exe`,一路下一步,Linux不需要这一步!!! - 虚拟环境方式安装依赖(推荐) 1. 安装pipenv: `python -m pip install pipenv -i https://mirrors.aliyun.com/pypi/simple --user` 2. 创建虚拟环境并安装依赖:`pipenv install `即可安装好相关环境。 - 自行安装依赖(方式): ```sh python -m pip install guizero -i https://mirrors.aliyun.com/pypi/simple --user python -m pip install cairosvg -i https://mirrors.aliyun.com/pypi/simple --user ``` ## 3、常用工具使用说明 在`00-tools`目录中存放了一些常用工具,方便老师们移植游戏,后续如果有新的东西我再更新。 ### 3.1 scParser **01-scParser**模块用于解析提取scratch的素材,这是大家在从scratch往py移植作品的第一步。 转换svg文件的时候,使用的是cairosvg库,大家一定要注意这个这个库是使用了gtk的,所以在Windows下必须先安装目录中的gtk3-runtime,网上有些说是安装完就可以了,实测我这里暂时不行,所以我一直都是Linux下进行操作的,欢迎老铁们尝试下一起解决。 #### 3.1.1 启动解析 1. cd sc2py 2. pipenv shell(未使用虚拟环境的不需要这一步) 3. cd 00-tools/01-scParser 4. python scParser.py,首次运行可能会安装一些第三方模块,等着就行了,以后就不用了。 #### 3.1.2 开始解析 本作品支持pgzero也支持cpgzh,cpgzh可以用文件夹作为角色的素材目录,类似于scratch每个角色都有很多个造型,这样方便管理,同学们按照自己需求选择。 1. 选择要解析的文件 ![](img/6.png) 2. 这里加载这个文件中一些东西可能会卡,稍等下,然后点击解析 ![](img/7.png) 3. 解析完是这样的 ![](img/9.png) 4. 然后就会在与.sb3同一个目录下生成项目文件夹 ![](img/10.png) - 这种方式生成的所有图片都在images文件夹下面,会比较乱: ![](img/11.png) - 所以强烈使用我的cpgzh库,他的目录结构就变成了这样: ![](img/12.png) - 管理起来方便很多,images下面的文件夹就代表每个角色的所有造型,会自动加载到角色身上,特别方便,要建立这样的目录上面选择cpgzh即可: ![](img/8.png) ### 3.2 tts2mp3 **02-tts2mp3**模块用于将文本转换成mp3语音的小程序,需要安装`pyttsx3`模块,直接执行`tts2mp3.py`,按提示操作即可。 ### 3.3 mp3ToWav **03-mp3ToWav**模块用于将mp3、m4a转换成wav格式的小程序,直接执行`mp3ToWav.py`,按提示操作即可。 ## 4、作品移植说明 ### 4.1 sc版本游戏目录 `01-sc`目录下主要用于存放scratch的作品,请老板们一个作品建一个文件夹,里面存放源码或者角色文件。 ### 4.2 py版本游戏目录 `02-py`目录下主要用于存放移植成py代码的作品,请老板们一个作品建一个文件夹,里面存放源码,文件夹名请与sc目录下的保持一致,就像下面这样就是一个移植好的作品: ![](img/13.png) `01-sc`里面存放的是scratch版本作品,`02-py`里面存放的是Python版本作品,欢迎老铁们一起开发移植。 如果移植后有需要特殊说明的,请在程序目录中放一个`README.md`文件说明。 ## 5、参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 6、特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)