2022年12月29日 星期四

彈跳的籃球,逐漸跳低、到停止

籃球開始彈跳之後,會因為重力,而逐漸降低反彈的高度,直到停止。



程式原始碼


2022年5月16日 星期一

背景產生器

 在有些動畫裡面,常常會用到同一個背景,一個背景被重複使用,難免造成觀看者的索然無味,所以可以製作一個加入亂數功能的背景產生器,讓相同的背景,可以製作不同的變化,例如:樹木的大小與位置、石頭隨機大小與位置。

下圖範例,按下【重新產生】之後就會更換一次背景。


 

 

  •  程式範例:


( 這次僅提供其中一個範例,程式積木裡面的定位、尺寸,都還要依據每一個角色的位置做最佳設定。  )

2022年5月15日 星期日

現在時間 ( 秒數持續更新 )


 

 

  •  貓咪程式

電子鐘 ( 不停更新秒數 )

將目前的時間 ( 時、分、秒 ) 以大型的文字 ( 繪圖 ) 顯示出來。

1.秒數必須能不停變動。
2.要考慮 scratch 讀取時間,一位數、二位數 ( 例如, 8 點、10點 ) 的解決方式。

這個【將數字以圖片方式顯示】的技能,可以運用在遊戲結束時,將變數內的分數,以大型數字 ( 數字 ) 呈現,強化使用者的視覺體驗。

 


 

 

  • 「小時」的【個位數】程式。


 

 

  • 「小時」的【十位數】程式。


2022年5月14日 星期六

鍵盤控制角色移動

用鍵盤控制「WASD」、「上下左右」分別控制黃球、綠球的移動。

兩顆球運動的靈敏度完全不同。


  • 黃球程式

 

  • 綠球程式

2022年5月13日 星期五

猜數字(1~99 猜一個數字)

「 猜數字」玩法:
從 1~99 猜一個數字,如果輸入的數字比答案大,則會顯示 1~輸入的數字;如果輸入的數字比答案小,則會顯示 輸入的數字~99。逐次輸入,將會愈來愈逼近謎底的答案,最終猜對了,遊戲也結束了。遊戲會計算輸入猜數字的次數,並且會防止過大、過小數字的防呆,但是也會計算進去猜測的次數。

  • 程式:


 

 

 

2022年5月12日 星期四

自動鋪磚

 寫一隻程式,用巢狀迴圈完成自動鋪磚的動作,如影片。


 

  •  鋪磚的程式

補充說明:這個程式沒有用到變數,只有不斷使用【本尊】的定位點,拿來當作分身的X、Y使用;也是個典型的巢狀迴圈 ( 九九乘法 ) 的寫法。

PS:「巢狀迴圈」就是 「迴圈裏面放迴圈」。

2022年5月9日 星期一

1A2B 猜數字 ( 高級版:數字可重複、包含 0 開頭的三位數、二位數、一位數 )

「猜數字 」是 scratch 裡面很典型的遊戲,因為會用到各種綜合型的判斷、變數、清單。

一般目前看到的「猜數字 」都是四位數字不能出現重複的數字,以下這個版本能正確判斷重複出現的猜數字,算是完成度很高的作品。

部分程式可用迴圈來做,為了簡化教學,專注於「猜數字」的逐一判斷、比對,所以暫時不使用迴圈判斷。




  • 第一隻貓咪的程式:

  • 最小隻貓咪的程式:



2022年5月7日 星期六

清單

 清單,就是一個可以放很多變數的地方。

影片裡面,有一個清單。當點擊小狗的時候,他會去問貓咪:「你知道今天的日期嗎?」

如果清單裡面沒有存放變數,貓咪就會說:「我不知道耶!」
如果清單裡面有變數,貓咪就會說出程式設定的內容,把日期念給小狗聽。


  • 貓咪程式:



  • 小狗程式:


  • 刪除變數群方塊程式:


  • 建立日期變數群程式:


2022年5月6日 星期五

打靶遊戲

 紅色靶心會跟隨滑鼠移動,靶心中央是深咖啡色,移動靶心,將靶心正中央瞄準隨機出現的蝙蝠,點擊滑鼠才能打敗蝙蝠、得到 1 分;蝙蝠的造型會舞動飛翔。



  • 靶心程式:




  • 蝙蝠程式:


2022年5月3日 星期二

在夜空中隨機出現閃爍後消失的星星

在夜空中,隨機出現紅、橙、黃、綠、藍、紫的星星,閃爍之後,就消失。




程式碼:


2022年5月2日 星期一

振翅往上飛、落體掉落的小鳥

小鳥一直舞動翅膀,按下空白鍵,小鳥會往上飛一小段距離,如果鬆開空白鍵,小鳥會掉落。

 


 進階設計說明:
1.兩種白雲,會隨機大小、位置出現;胖一點的雲在畫面上三分之二,瘦長的雲畫面下三分之二。
2.白雲出現的大小,會影響飄過的速度;愈大的雲,代表愈靠近使用者,飄的速度愈快,愈小的雲,代表離的愈遠,飄的速度愈慢。

  • 小鳥的程式:

  • 白雲的程式: ( cloud01 分身的變數,僅適用當前角色 )

 


2022年5月1日 星期日

每秒隨機產生一顆氣球往上飄


 

 

  •  程式:

發射子彈(分身)

用上下鍵控制鯊魚位置,鯊魚會張開嘴巴,子彈會從鯊魚嘴巴的位置飛出去。(在鯊魚身上用廣播的方式控制子彈產生分身的方式,可以避免子彈超級連發;但是因為是用廣播,同一個廣播只能同時存在 10 個?也就是說,那個子彈的分身如果沒有刪除,畫面上只能有 10 顆藍色子彈 ;這個部分要再找一下官方文件,是否有相同廣播存在 10 次的上限;scratch 3 的分身上限是 200 個)




 

  •  鯊魚的程式:


  •  子彈的程式:



 

2022年4月30日 星期六

有重力的跳躍(上升減速、降落加速)

在真實的世界,當你往上丟一顆球,因為有地心引力,所以速度會逐漸變 0 ,再開始往下掉落,速度逐漸變快。
 
所以為了提高角色往上跳躍的真實感,不能單純用移動而已,而是每次的移動都必須愈來愈少(就像球往上丟,會逐漸減速);相反的,當角色開始降落時,每次的移動都愈來愈多(就像球往下降落,會愈來愈快),這樣才能模仿出真實地跳躍動作。



做法:


角色跳躍的四種做法

要讓角色跳躍,其實就是上下移動,下面整理四種方式,這四種寫法都可以讓角色做出跳躍的動作,比較特別的是第四種,有做出上升減速、降落加速。( 為了要配合前三個的移動距離及時間,所以第四個跳躍的參數有調整,所以看起來不是那麼明顯,會另外寫一篇讓上升減速、降落加速更明顯的範例。)
說明:前面三隻貓咪,跳躍到最高點時,感覺是被反彈回來,而第四隻貓咪,則是逐漸減速到最高點,再開始加速掉落下來。



  1. 第一種


     
  2. 第二種


  3. 第三種


  4. 第四種