總網頁瀏覽量

顯示具有 補充說明 標籤的文章。 顯示所有文章
顯示具有 補充說明 標籤的文章。 顯示所有文章

2018年7月15日 星期日

從 角度與移動 到 打磚塊遊戲

補充 : 從 角度與移動 到 打磚塊遊戲

Scratch 角色除了用 X,Y 座標定位外,也可以透過 改變角度+移動 * 步 來移動位置.

首先,先來看看角色的方向定義,預設角色的方面為 90. 我們可以開啟一個新專案,觀察角色的預設方向是否為 90 度. 這也是將來自己設計角色時的參考.







預設 90 度,因此直接移動會往右走, 想要改變移動方向,就需要先改變方向再移動.


如上圖範例,說明一個角色的方向角度,右側為 0 ~ 180,左側為 0 ~ -180.
一個球在 90 度方向做記號,每次轉 45  度後的方向如下,


當設定方向後,就可按記號方向移動. 一般角色雖沒有記號標示,但原理想同.
* 角色的角度可以按角色左上的藍色 i 圖標,角度會出現在右側區域,有數字及圖示.





基於這個方法,我們就可以讓球在螢幕中持續移動與反彈,只要改變方向,配合碰到邊緣反彈即可.





接下來,我們要加上讓球反彈的木板,還有球碰到就結束遊戲的紅線.

新增一個木板角色,讓它只在一個高度上隨著滑鼠左右移動.



球和木板相碰後,應該要由誰來處理呢?
木板從頭到尾只負責跟著滑鼠移動位置.
球卻要在碰到木板後反彈,因此我們由球來處理這段程式.

我們觀察到球落下時的方向角度,分別是 -135度 及 135 度. 而依據入射角等於反射角的設計,我們要分別將方向角度在碰撞後調整成 -45度 及 45度.


在程式中,我們加入對木板的偵測,當球碰到木板時,判斷球當時落下的方向角度,再將方向角度做對應的反射調整.



再來,我們要在底線加入紅線,當球碰到紅線就代表遊戲結束.

紅線從頭到尾只固定不動.
球卻要在碰到紅線後結束遊戲,因此我們由球來處理這段程式.

當偵測到碰到紅線時,說出 LOSE!!! ,並將程式結束.



操作過程,請參考視頻




接下來,我們試著加入三個星星,

星星被球碰到會隱藏.
三顆星星都隱藏後,判定玩家獲勝. 但如何不使用變數來累計隱藏星星數量.

利用背景切換來計數,當綠旗開始,將背景切成第一張背景,當星星被碰到後隱藏並將背景切換到下一個,當三顆星星都隱藏後,此時背景也被切到第四張,遊戲由玩家獲勝.

想想看,還有角色的那些變化可以當成一種紀錄,讓程式可以用來判斷呢? 應該有不少方法才對,請試試看!


2018年6月24日 星期日

補充 : 常用迴圈使用範例

補充 : 常用迴圈使用範例 有不少同學對 迴圈 的用途不太熟悉,舉例說明

範例 一 : https://scratch.mit.edu/projects/230332056/



分別說明三種迴圈的使用場景

 A. 重複 無限次 (不會退出) 當需要一直重複的場景,就適合用此迴圈.

特點是

(1) 就算中途因為廣播去執行其他程式,最後還是需要回來.
(2) 只能用停止程式退出 如 跑步機 A 是一台一直重複無限運行的機器,注定 貓咪A 的體力只會被耗盡.

 B.有條件執行 (有條件可退出) 當某個條件符合時,迴圈持續執行,否則就可退出迴圈.

 特點是

(1) 可以設定執行回圈內程式的條件.
(2) 當條件不符就退出,可執行下面的程式.

 如 跑步機 B 可以設定在體力只有 2 時就停止,貓咪 B 可以休息.

 C.計數迴圈 (固定次數) 可以規定重複迴圈多少次.

特點是

(1) 按次數進行
(2) 超過次數就脫離迴圈執行後續程式.

 如 跑步機 C 可以設定只跑 20 步,貓咪 C 很早就休息了.

以下範例,按 START 開始

範例 2 :

這是簡單版本做 三種迴圈演示

(1) 貓在重複無限的迴圈內,只能一直跑,沒有休息.
(2) 馬在一個條件重複迴圈內,當跑到中場時可以中斷休息.
(3) 狗在一個次數重複迴圈內,每次只跑50步就中斷休息.

https://scratch.mit.edu/projects/230600186/




範例 3 :

迴圈練習的演示程式
從最外圈開始,分別是
無限重複迴圈
條件迴圈
次數迴圈
請參考附註.
同時也用一個角色,配合乘數在迴圈中的數值變化,在不同地方切換造型後,用蓋章功能將乘法列表印出.

https://scratch.mit.edu/projects/230592902/



2018年6月11日 星期一

補充 : 如何將 Scratch 專案在網路分享 (Part 1)

如何將 Scratch 專案在網路分享

當完成一個 Scratch 專案,想要將其儲存成視頻分享給同學好友,由於 Scratch 只能儲存成 FLV 檔案格式,部分設備無法觀看,本文介紹如何將 Scratch 專案在網路社群分享.

1.利用 Scratch 內建功能,將程式運行中的畫面及聲音錄影成 FLV 檔案後下載.

(1) 在 檔案 下選擇 錄製成影片.

(2) 選擇 Start 開始錄影. (可勾選是否包含聲音) 


(3) 按 左下角 停止鍵 停止錄影.



(4) 選擇 [Save and Download] 保存及下載檔案.



(5) 設定儲存目錄及檔案名稱後儲存.



2. 將影片轉檔成 MP4 或是直接上傳到 Youtube

(1) 轉檔
由於兼容性問題,建議將檔案轉檔成 MP4,再將檔案分享到社群平台.

** 如果你熟悉 OBS,也可以直接將 Scratch 執行過程擷取錄影並轉檔成 MP4.

若不經常轉檔或是檔案不大,可以使用線上轉檔,如 https://video.online-convert.com/convert-to-mp4


轉檔後選擇下載,就可以用 FB 或 LINE 來分享給好友.

(2) 上傳 Youtube

至 Youtube 網站登入帳號,點擊上傳圖標後,選擇影片檔案上傳.





設定影片相關信息,當影片上傳完成後按 發布,擷取 影片連結擊可使用連結在 FB 或 LINE 分享.
而用戶點擊後會到 Youtube 上觀看影片,畫質也會較 FB 清楚.
如果要多處分享,會建議用 Youtube 分享, 就不須一直上傳檔案.



學習金字塔

透過學習金字塔了解 對於 學習程式過程中,作業/分享/討論/實作/教別人 的幫助



講述法對老師而言,是最簡單而且有效率的教學方法,但是對學生而言,其教學效果卻是恰恰相反。

有研究學習者在 幫助他人 和 接受他人幫助 兩種不同情境下的學習績效,

(1) 若學習者只是被動地接受他人的幫助,則其成績表現並沒有顯著的提昇;
(2) 主動提供他人答案說明的學習者,其成績表現比只有提供他人正確答案而不做說明的學習者要好。

結果符合學習金字塔的理論。

根據學習金字塔,學生如果有機會教導別人他所正在學習的東西,那麼他對這項學習的保存率可以高達百分之九十。

學習者在兩週以後還記得的學習內容,會因為不同的學習方式而有很大的差異。

光是聽老師用講述的方式,兩週以後記得的內容只剩百分之五。
因為這是最被動的學習方式,學生的參與度是最低的,所以兩週之後仍然記得的只剩百分之五。

在金字塔的最底端,其教學效果可以高達百分之九十,而這個方法卻是老師們趕進度時無法兼顧的:讓學生教別人。
如果學生有機會把上課內容作立即的應用,或是讓學生有機會當同儕的小老師,效果可高達百分之九十。
所以從學習金字塔中可看出,學生的學習以能夠轉教別人的效果最好。
所以學生在進行教學之前,必須透過個體思維,將內容轉化為讓其他人能懂的表達方式,在這同時,也提昇了學生潛在智能的發展。



透過學習金字塔,提醒我們利用多種層度的參與,會加深我們學習的記憶,這也是我們鼓勵同學將作業上傳到工作坊分享.
除了分享外,

(1) 多多參與討論
(2) 從實做中學習

(3) 教別人/幫別人解決問題

這也是鼓勵大家多參與 群組 與 社團 討論的主要原因,當你在幫助別人的過程中,你也加深了自己的學習效果.

教學粉專 : https://www.facebook.com/scratchworkshop/

討論社團 : https://www.facebook.com/groups/1778816595468121/

補充 : 如何關注其他 Scratcher 或 專案?

Scratcher 可將作業分享到 Scratch 社群平台,平台上有各式各樣的專題,如何在眾多專題中,尋找有興趣的主題呢?

(1) 使用搜索

在 Scratch 網站上方有個搜索欄位,輸入關鍵字搜索,可以查找到相關的作者/專題/工作坊.


(2) 關注作者

如果對有些作者的專題很有興趣,你可以點擊作者的圖標或帳號,


跳轉至作者的頁面後,選擇關注,即可將作者放入關注清單,

當該作者有新動態時,會主動推送信息給你






















(3) 關注/喜愛/評論專案

你也可針對個別專案進行關注或表達喜愛,也可以發表評論,但請務必要有禮貌,給予建設性的評論,要避免歧視或挑釁的用語.