Scratch教學

傑夫老師把對 Scratch 的研究記錄在這邊,希望各位 Scratch 老師或是想對 Scratch 深入瞭解的人,能學習的更多。這裡不時會有"來賓點歌",如果有人問傑夫老師問題,老師有時也會寫成文章,在這裡回答。

NEW 日前有位老師提供了「Scratch少儿游戏趣味编程」這本書中的範例專案,並請我分析書中雙人五子棋的專案,傑夫老師分析完後並做了改编。

傑夫老師的改編讓連線判斷做得很有效率了,也節省了空間...

NEW 將貓咪用『圖像效果顏色改變 200』 之後,貓咪的身體變回原來的顏色,但貓咪嘴巴卻不是白色,而是淡淡的紅色。自己畫一個白色的方形,也把它的顏色改變 200,也是一樣的結果。

這是怎麼回事?將白色改變顏色 200 為什麼不會變回白色,是 Scratch 的 bug 嗎?這引起了傑夫老師的好奇心,決定來找出答案。

【影片】什麼是布林變數?又要怎麼用?

真真假假真,真若假時假亦真。在一般程式語言中,都有布林(Boolean)資料型態,這種資料型態只有兩種值,那就是「是」或「否」,也就是 "True" or "False",那在Scratch中有這樣的東西嗎?

這兩天有朋友在問,Google離線小恐龍如何順暢變換造型?所以這集就來利用布林變數,把造型變換做到順暢,而且程式也不用寫很多。

【影片】圖像、筆跡顏色怎麼變?

Scratch中『圖像效果顏色改變』與『筆跡顏色改變』這兩個積木都是在改變顏色,改變多少之後會變回原來的顏色?改變的規則又是什麼?

這是一位老師在課堂上的問題,老師課堂上講解得很精彩,但是來看看傑夫老師怎麼說明,而且還變出讓九天玄女也說漂亮的七彩霓虹,醬肉進來看吧

【影片】畫筆畫圓-三種方法一次教你

常常被問到在Scratch中如何用畫筆畫圓,傑夫老師就來把畫圓的方法整理出來,一次教給所有喜愛Scratch的朋友們。三種畫圓的方法,學~都要學~哪個不學~

又有老師在群組中點歌,要找Scratch清單的應用範例,那傑夫老師就來介紹這個本來要當比賽秘密武器的「魷魚遊戲玻璃橋」

有其他老師詢問:全域(Global)變數和私有(Private)變數用的時機有什麼差別?比如說分身的時候或其他的時候。

分身要同步往左或往右移動,有這麼多種方法可以做到,但是每個方法都衍生出一些問題,就讓傑夫老師來一一說明。

這叫「天長地久有時盡,此恨綿綿無絕期」,所以!要做大遊戲的同學不要再用『重複無限次』了~

你寫的程式是不是一個廣播接一個廣播,最後不知道接到哪裡?
你寫的程式是不是一定要從頭開始測試,浪費很多時間?
你寫的程式出問題時,請別人幫你 debug,別人看了半天卻說沒辦法幫你?

不管你怎麼移動、定位 Scratch 的角色,角色絕對不會完全離開舞台,留下15 pixels的寬度留在舞台上,這15 pixels的寬度,傑夫老師稱之為舞台安全框。

綠旗按下時,其實無法掌握哪個角色的哪一段程式會被先執行,這就是所謂的綠旗不同步的問題。

Scratch 中有個很強的功能『分身』是初學者一定要學會使用的,但分身最多就只能產生 300 個,如果重複產生或忘了刪除最後可能導致整個專案當掉。所以,掌握有多少個分身以及給每個分身一個編號,是 debug 過程中一個重要的手段。

Scratch 的分身是個最重要的技巧,初學時雖然很排斥,一旦學會了就發現很好用。然而使用分身還有很多地方要注意,很多書都沒有教,甚至不會教怎麼善用分身,就讓傑夫老師從最基礎的部分開始來為各位說明。

常常有學生在做 Scratch 遊戲或動畫的時候,不管是要讓角色動起來或是變換造型,都會用到積木『等待OO秒』。但是,有沒有想過,如果執行『等待 0 秒』是否會被忽略掉而不等待?

已經很多次了,幫學生解 bug 時,發現問題都是因為短時間內重複收廣播而造成的。很訝異這個事情很多書都沒有提,傑夫老師就在這裡寫出來,讓大家都知道。

在 Scratch 中放大角色的尺寸是很常用到的技巧,但是有些角色可以放很大;有些又不能,到底是怎麼回事?傑夫老師就來探討一下。

傑夫老師被點歌了,有學生要聽「雲端變數」,那就來回應一下學生的要求。 首先要知道:如果要玩別人利用雲端變數做的專案,就必須在「專案頁面」或全螢幕模式下,才會同步更新這個專案的雲端變數 。

這個遊戲從小玩到大,可是始終沒有實作過。正好在 Youtube 找到了一段影片,看完之後對「極小極大搜尋演算法 (minmax algorithm) 」忽然頓悟,於是就開始著手把影片中的程式改成 Scratch 版本。

有位探友的文章提到了法國數學家迪卡兒有名的數學心臟線,之前傑夫老師也應某位學生的要求做了心臟線的小動畫,那就來畫給大家看。

傑夫老師又被點歌,要做一個 pseudo (假) 3D賽車遊戲,天哪!這是要複刻大型電玩遊戲,老師不是做遊戲出身的,這.....投降可以輸一半嗎?這.....可以怪全國賽出題老師嗎?

Scratch 解 LeetCode!?會不會太扯了~但如果能用 Scratch 來輔助解題教學,相信學生會比較能夠快速瞭解程式的思維邏輯吧~