码迷,mamicode.com
首页 > 其他好文 > 详细

Scratch 3.6中的部分错误汇总

时间:2020-06-11 18:17:20      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:地板   视图   而不是   src   image   两种   技术   高度   需要   

一、前言

Scratch作为全球K12教育No.1级工具,其优点举不胜举,但时至今日,问题也不少。本文结论仅针对我的WIN7 32位环境下的Version 3.6,其他最新版本中是否存在此问题,当我在另一台机器上安装最新版本后再作必要说明。

二、问题1:设计时刻角色显示有时不正常

设计视图下显示存在问题:有时有些角色不显示,这非常不方便初始设计。因为本博客工具目前不支持视频,所以,在此仅用文字加图片说明。
技术图片

上图给出的是我的一个小游戏中的大舞台视图下的界面。再来看一下游戏中的几个角色:
技术图片

最后一个角色“角色3”是一条比较长的水平线,但是,在图形编辑器(角色编辑器)下如何调整此角色大小,设计视图下就是不显示,我多次试用过“显示”与“隐藏”等积木的单击式单独调试,不起作用。另外,经试验,也不是层次遮挡引起的问题。

无奈,我想到切换到像素模式,一般可以成功显示出来。

原因估计:很有可能是软件设计中屏幕刷新方面存在问题。

【补充】经进一步分析发现,在适量绘图状态绘制的水平线或者是垂直线,其宽度或者高度为0。此时,切换成位图状态,则宽度或者高度不再为0,再切换回矢量状态,则显示正常!

三、问题2(可能是多线程带来的问题)

首先,请看下面代码:

技术图片

问题出在声音播放一句,有关声音播放Scratch中共提供了两种播放方式:

技术图片

有关这两个方式,网络上有非常多的解释,几乎都一样。结合Scratch技术,我们可以把第一句解释为同步播放,第二种理解为异步播放。
即是说:第一个语句是当现在的声音文件播放结束后后面的可能的代码块才执行。而第二个语句则是当前声音播放后后面的可能的代码块会继续执行,不会等声音文件播放结束才执行。

那么,问题来了,上面的图形代码中使用哪一个播放语句呢?

答案是:后者,而不是前者,也不是二者皆可!

分析来看,上面结论相当复杂而奇怪?!

但是,有如下图所示的运行时截图为证。

当使用第一个同步声音播放积木块时,运行时有如下截图:

技术图片

因为不好瞬间抓图(没有使用视频录制),所以看起来有些悬殊。其实是,使用第一块积木时挡板精灵失去了正常拦挡下落的小球并使之正常反弹的功能——小球直接沿原来的方向前进并最终下落到地板上!

当使用第二个异步声音播放积木块时,一切正常,挡板精灵能够正常拦挡下落的小球并使之正常反弹!
技术图片

四、注释的问题

注释是帮助自己后期分析代码或者提供给别人阅读代码的快捷途径,Scratch也提供了相应的支持。但遗憾的是,当角色中存在很多组代码时,给一组代码中的可能是多块积木添加注释,但是再经界面重新整理后,注释布局变得混乱,需要自己重新手动调整,让人极不满意。另外一个问题是,当我在背景这个特殊角色中的积木块中添加注释时,经常出现再次打开项目后注释莫名其妙消失的状况。

五、小结

我想使用本文继续记录下使用Scratch编程非常大的问题(BUG),并供朋友们深入研究之用。

Scratch 3.6中的部分错误汇总

标签:地板   视图   而不是   src   image   两种   技术   高度   需要   

原文地址:https://blog.51cto.com/zhuxianzhong/2503545

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!