Scratch 3.X中的部分錯誤彙總

一、前言

Scratch作爲全球K12教育No.1級工具,其優點舉不勝舉,但時至今日,問題也不少。本文結論主要針對我的WIN7 32位環境下的Version 3.11.1,但是據我使用過的從3.2到今天最新的3.11.1版本幾乎全部存在類似問題。個別處將專門說明。

二、問題1:設計時刻角色顯示有時不正常

設計視圖下顯示存在問題:有時有些角色不顯示,這非常不方便初始設計。因爲本博客工具目前不支持視頻,所以,在此僅用文字加圖片說明。
Scratch 3.X中的部分錯誤彙總

上圖給出的是我的一個小遊戲中的大舞臺視圖下的界面。再來看一下游戲中的幾個角色:
Scratch 3.X中的部分錯誤彙總

最後一個角色“角色3”是一條比較長的水平線,但是,在圖形編輯器(角色編輯器)下如何調整此角色大小,設計視圖下就是不顯示,我多次試用過“顯示”與“隱藏”等積木的單擊式單獨調試,不起作用。另外,經試驗,也不是層次遮擋引起的問題。

無奈,我想到切換到像素模式,一般可以成功顯示出來。

原因估計:很有可能是軟件設計中屏幕刷新方面存在問題。

【補充】經進一步分析發現,在適量繪圖狀態繪製的水平線或者是垂直線,其寬度或者高度爲0。此時,切換成位圖狀態,則寬度或者高度不再爲0,再切換回矢量狀態,則顯示正常!

三、問題2(可能是多線程帶來的問題)

首先,請看下面代碼:

Scratch 3.X中的部分錯誤彙總

問題出在聲音播放一句,有關聲音播放Scratch中共提供了兩種播放方式:

Scratch 3.X中的部分錯誤彙總

有關這兩個方式,網絡上有非常多的解釋,幾乎都一樣。結合Scratch技術,我們可以把第一句解釋爲同步播放,第二種理解爲異步播放。
即是說:第一個語句是當現在的聲音文件播放結束後後面的可能的代碼塊才執行。而第二個語句則是當前聲音播放後後面的可能的代碼塊會繼續執行,不會等聲音文件播放結束才執行。

那麼,問題來了,上面的圖形代碼中使用哪一個播放語句呢?

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

分析來看,上面結論相當複雜而奇怪?!

但是,有如下圖所示的運行時截圖爲證。

當使用第一個同步聲音播放積木塊時,運行時有如下截圖:

Scratch 3.X中的部分錯誤彙總

因爲不好瞬間抓圖(沒有使用視頻錄製),所以看起來有些懸殊。其實是,使用第一塊積木時擋板精靈失去了正常攔擋下落的小球並使之正常反彈的功能——小球直接沿原來的方向前進並最終下落到地板上!

當使用第二個異步聲音播放積木塊時,一切正常,擋板精靈能夠正常攔擋下落的小球並使之正常反彈!
Scratch 3.X中的部分錯誤彙總

四、註釋的問題

註釋是幫助自己後期分析代碼或者提供給別人閱讀代碼的快捷途徑,Scratch也提供了相應的支持。但遺憾的是,當角色中存在很多組代碼時,給一組代碼中的可能是多塊積木添加註釋,但是再經界面重新整理後,註釋佈局變得混亂,需要自己重新手動調整,讓人極不滿意。另外一個問題是,當我在背景這個特殊角色中的積木塊中添加註釋時,經常出現再次打開項目後註釋莫名其妙消失的狀況。

【注】這個結論在3.11.1中剛剛測試結束,偶爾還是如此!只是偶爾!例如,某角色有多組腳本,其中至少有一組中的至少有一塊積木存在註釋(內容不管多少)。保存並關閉此項目,再次打開該項目時也出現原來的多組項目重疊顯示,只好再次使用右鍵菜單彈出的“整理積木”命令再次重新安排!我的機器配置算是比較低的:聯想筆記本WIN7 32位+4G內存。

【補】剛剛打開前些時間調試的一個小遊戲,又出現了上述雜亂現象,截圖如下:

Scratch 3.X中的部分錯誤彙總

五、可能偶爾打開文件不起作用

當前已經打開了一個項目,再想使用菜單命令“文件”-“從電腦中上傳”(也就是一般的打開本地文件的命令)時,不時出現第一次點擊本地的新項目後不起作用,而需要再次重複運行一下這個打開命令的情況。我經常遇到這種莫名其妙的情況!

六、小結

我想使用本文繼續記錄下使用Scratch編程非常大的問題(BUG),並供朋友們深入研究之用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章