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