資訊內容
Scratch運動積木詳解(更新到Scratch 3.0新版)
(輕松關注,點擊?↑藍字。查看歷史文章,收獲最新資訊)
文章創建:2018-06-15,最后修改:2019-08-11
外觀積木讓角色的外形變得豐富,借助它們女主角已經能夠衣著華麗地站在舞臺上,不過,詭異的是她在那里像個木頭人一動不動,臺下觀眾看得一臉尷尬。本文就是要讓角色“動起來”。
“運動”積木賦予角色移動和轉動的能力,看似簡單無奇的兩個動作經過靈活的組合,能夠實現意想不到的效果。
01 坐標
Scratch中通過“坐標”來定義角色、鼠標等任何事物的位置。
坐標系的水平方向是X軸,豎直方向是Y軸。坐標系的單位是“步”,它將在下文03中用到。
以上四個積木就是直接修改或增量修改角色的坐標,來實現角色移動的。注意觀察下圖,正值表示在坐標軸上正向運動,負值表示在坐標軸上反向運動。
另外,觀察紅圈標注的位置,它們實時顯示了角色的當前坐標。如果你將角色拖動到舞臺的四個角,就能得到邊界的坐標是(X:-240,Y:180),(X:240,Y:180),(X:-240,Y:-180),(X:240,Y:-180);如果你將角色拖動到中心點,就會得到舞臺中心是(X:0,Y:0)。
在介紹舞臺時,還會提到關于坐標系的知識。
02 方向
角色有面向某個方位的屬性,這在現實生活中也很常見,比如,小明在十字路口給約會的朋友打電話,“我現在面對著招商銀行,銀行的大門是面向西開的,你來找我吧”。
我們用積木翻譯上面的話:
-
角色(我),?[面向? 銀行 ]?
-
角色(銀行),?[面向??西??方向]?
第1條,面向后面跟的是另外一個角色,在Scratch中如下。需要注意的是,除了角色,選項還可以是“鼠標指針”。
第2條,面向后面跟的是方向,在Scratch的平面舞臺上可沒有“東西南北”,只能用度數表示方向。在Scratch 2.0中,這個積木還提供默認的“上下左右”四個選項,而在新版中,因為加入了新的模擬“指針”操作方式,所以去掉了四個最常用的選項。不過,對于新方式是否優于老的操作方式,我保留意見。
我們嘗試下,
除了上面這些,關于旋轉還有兩個要點需要知曉:
-
角色初始面向是“(90)向右”,也可以理解成,角色“造型”區域看到的形象就是默認面向,此時角色的右側就是角色的朝向,無論程序中角色被旋轉了多少角度,這個“右側”都是角色的“當前”朝向。千萬不要把角色的“臉孔”理解成角色的朝向!
-
角色是繞著自己的中心點旋轉的。上篇外觀積木提到了中心點,現在仍然不深究,留到后面講解。
03?旋轉
這兩個積木可以實現角色的旋轉,不管當前角色面向什么方向,都會在當前面向的基礎上左轉或右轉。
其實,上文02的積木雖然是用來設置角色面向(朝向)的,但是通過不斷修改??[面向??N??方向]??中的N,也能實現旋轉的效果,只是可能用起來比較的繁瑣。
下面的例子演示在默認面向時旋轉,然后修改面向朝下,再旋轉。
04?移動
角色從當前位置、當前面向,移動到特定的位置。
-
第一個積木:向當前面向移動N步。“步”,就是01中說的坐標系單位。那么,角色從舞臺中心是(X:0,Y:0)往右移動的話,最大只能移動240步,因為坐標系邊界是(X:240,Y:0)。
-
第二個積木:立即移動到除自身以外的某個角色、鼠標指針或者任意位置
-
第三個積木:在第二個積木的基礎上增加一個移動耗時,角色就像是一步步走過去的,不再瞬移
-
第四個積木:立即移動到指定坐標(X:__,Y:__),角色就像突然消失并且出現在另一個地方
-
:立即移動到指定坐標(X:__,Y:__),角色就像突然消失并且出現在另一個地方
-
第五個積木:在第四個積木的基礎上增加一個移動耗時,角色就像是一步步走過去的,不再瞬移。原理和第三個積木類似
05?碰到邊緣
舞臺的寬和高都是有限的,于是,需要明確當角色已經運動到邊緣時,后續應該怎樣運動。
這類積木只有2個,一個是確定“碰到邊緣就反彈”,另一個則是設置反彈時的旋轉方式。
下面的例子先演示不使用“碰到邊緣”積木的情形,小貓碰到邊界后仍在試圖移動,只是已經無法移動而已;然后增加“碰到邊緣就反彈”積木,并且分別嘗試三種旋轉模式。
實例可以看出,旋轉模式“任意”的命名很不貼切,它的實際含義是,當碰到上/下邊緣時采取“上-下旋轉”。
06?運動參數積木
外觀類積木中已經提到這種類型的積木,不贅述。
運動積木中的面向和坐標系是很重要但又不易理解的內容,后續的文章還會多次講解來增進理解。
tag:#Scratch編程、#少兒編程、#兒童編程、#趣味編程、#青少年編程、#軟件編程
例行備注:微信限制已發布文章的修改,欲查看最近更新后的文章可以通過公眾號底部的菜單。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
