首页前端开发其他前端知识Scratch3.0 页面初始化同时加载sb3文件的操作代码

Scratch3.0 页面初始化同时加载sb3文件的操作代码

时间2024-02-10 22:43:03发布访客分类其他前端知识浏览889
导读:收集整理的这篇文章主要介绍了Scratch3.0 页面初始化同时加载sb3文件的操作代码,觉得挺不错的,现在分享给大家,也给大家做个参考。 scratch是一种非常合适的培养自己的编程兴...
收集整理的这篇文章主要介绍了Scratch3.0 页面初始化同时加载sb3文件的操作代码,觉得挺不错的,现在分享给大家,也给大家做个参考。

scratch是一种非常合适的培养自己的编程兴趣的方式。通过拖拽的方式,可以实现一些游戏,小程序的开发,就像搭积木一样,下面给大家介绍Scratch3.0 页面初始化同时加载sb3文件的操作方法,一起看看吧!

目标文件地址:src\containers\sb-file-uploader.jsx

修改 sb-file-uploader.jsx文件, class SBFileUploader中添加componentDidmount(),代码如下

componentDidMount() {
         VAR _this = this;
    			// 作品所在存放地址	var sb3Path = null;
		/**	 * 必须使用 $(window).on("load",function(){
}
    );
    	 * 否则页面在未加载完的情况下,有些组件会来不及加载,影响二次文件保存	 */	console.LOG("尚未初始加载Sb3文件");
	$(window).on("load",function(){
    		console.log("即将初始加载Sb3文件");
    		let reader = new FileReader();
    		let request = new XMLHttPRequest();
    		console.log("加载的资源路径", sb3Path);
    		request.oPEn('GET', sb3Path, true);
    		request.responseType = "blob";
		request.onload = function() {
			if(request.status==404){
    				alert("未找到sb3类型的资源文件");
    				location.href='/scratch';
			}
    			let blobs = request.response			reader.readAsArrayBuffer(blobs);
    			reader.onload = () =>
     _this.props.vm.loadProject(reader.result).then(() =>
 {
				Analytics.event({
					category: 'project',					action: 'Import Project File',					nonInteraction: true				}
    );
    				_this.props.onLoadingFinished(_this.props.loadingState);
			}
    ).catch(error =>
 {
    				log.warn(error);
			}
    );
		}
    		request.send();
	}
    );
}
    

目标文件地址:src\components\menu-bar\menu-bar.jsx

修改 menu-bar.jsx文件, class Menubar 中初始SBFileUploader,代码如下

// 必须加载这个文件import SBFileUploader From '../../containers/sb-file-uploader.jsx';
class MenuBar extends React.COMponent {
       render () {
            return (            Box                classname={
classnames(                    this.props.className,                    styles.menuBar,                    {
[styles.saveinProgress]: this.props.isUpdating}
                )}
                >
				SBFileUploader onUpdateProjectTITle={
PropTypes.func}
     /** 初始化加载文件到项目 **/>
					{
    (className, renderFileInput, loadProject) =>
 (						button onClick={
loadProject}
 className={
classNames(styles.scratchHide)}
    >
    /button>
					)}
    				/SBFileUploader>
                /Box>
            );
    }
}
    export default injectIntl(connect(    mapStateToProps,    mapDispatchToProps)(MenuBar));
    

到此这篇关于Scratch3.0 页面初始化同时加载sb3文件的操作代码的文章就介绍到这了,更多相关Scratch页面初始化内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • 详解scratch3.0二次开发之scratch-blocks中的blocks的类型、定义和使用方法
  • scratch3.0二次开发之用blocks生成python代码
  • Scratch3.0二次开发之windows环境下打包成exe的流程
  • 解析scratch3.0二次开发之scratch-blocks免编译修改问题

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Scratch3.0 页面初始化同时加载sb3文件的操作代码
本文地址: https://pptw.com/jishu/608974.html
解析在浏览器地址栏输入一个URL后发生了什么 Scratch3.0二次开发之windows环境下打包成exe的流程

游客 回复需填写必要信息