2、屬性(properties):
屬性就是物件的特徵,用以描述這個物件的外觀或反應其作用, 這些特有
二、Alice 中的物件、屬性、方法、事件 1、物件:
在 Alice 的環境中,左上方有一個物件區,Alice 以樹狀結構顯示存在於 Alice 中的物件。World、camera、light 是每個新開檔案時,Alice 自動產生的物件;
兔子和蝴蝶則是自己新增的。
World
camera
light ground butterfly
2、屬性:
選擇「whiteRabbit」,下面再選擇 properties(屬性),則會顯示所有 whiteRabbit 的屬性。在這裏我們可以看到 whiteRabbit 的屬性有 color(顏色)、
opacity(透明度)、vehicle(運載工具)、fillingStyle(填充形式)、pointOfView
(視野) 等等。
3、方法:
在 Alice 中,每個物件都有其內建的方法。我們不需要了解這些方法是怎 麼寫成的,我們只需要知道某個物件有什麼方法我們可以直接使用。
選擇「whiteRabbit」,下面再選擇 methods,則會顯示所有 whiteRabbit 的方法。在這裏我們可以看到 whiteRabbit 的方法有 move(移動)、turn(轉 向)、roll(旋轉)、resize(重新調整大小)、 say(說話)、think(想)、moveTo
(移向)等等。
補充說明:常用的 Methods 以下圖的場景為例
左邊 methods 右邊的程式編輯區
企鵝向右移動 0.5 公尺
企鵝向右轉 0.5 公尺
企鵝向右轉 0.5 公尺
※請注意 turn 和 roll 的不同,turn 是以垂直方向 為軸心旋轉,roll 是以水平方向為軸心旋轉
企鵝會變成原本的 1.5 倍大
企鵝說 hello
企鵝心裏想”I wonder may I be your friend?”
播放聲音
企鵝移到貓的位置上
企鵝向貓的方向移動一公尺
意思是說,如果這時候免子的面朝右,但是企鵝的 面卻是朝左的話,企鵝的面會跟著免子的面朝右。
讓企鵝站起來,如果這時候企鵝是躺著的
Methods 有兩種,像前面說明的 move、turn、roll 等等,是 Alice 中已經內 建好
d’s details 中選擇 create new method
的,但是有些我們需要的方法是 Alice 裏面沒有的,例如我們需要一個跳躍 的 method,但是在 Alice 中沒有 jump 這個 method,這時候我們可以自己新增 需要的 method。
方法如下:
(1)在 worl
(2)按下 create new method 之後會產生一個對話框,你可以在對話框中輸入 你要新增的 method 的名字,在這裏我們輸入 jump。
(3)你會發現在 world.my first method 的右邊多了一個名為 jump 的 method,
這時候我們就可以開始編輯這個 method 了。
(4)加入兔子向上跳和向下跳的動作
(5)編輯完 jump 之後要記得將 world.jump 放進 world.my first method 中,這 樣程式才會順利執行哦!因為當你按下 play 的時候,Alice 會先去檢察 Events 區域內有哪些 Events,Alice 內預設的 events 是 when the world starts, do world.
My first method,也就是說,當這個程式一開始執行的時候就會先執行 world.my first method,所以如果你沒有把 jump 放在 world.my first method 中的話,Alice 是不知道要去執行 jump 的。
4、事件:
在 Alice 的右上方有個設定事件的區域,按下 create new event(創造新的 事件) 即可以新增事件,可以決定要觸發的事件是什麼,可以選擇由滑鼠觸 發或是由鍵盤觸發,或是設觸發條件。
設定事件 的區域
補充說明:常用的 events
‧When the world starts(當程式開始執行):
當 Alice 開始執行時,所執行的動作,這個動作有通常是任何一個你指定的 method。
‧When a key is typed(當有個按鍵被按下時):
當有個按鍵(如空白鍵,或方向鍵等等)被按下時,開始執行的動作。
‧When the mouse is clicked on something(當滑鼠按下某個物件時):
[動手試試看]
為了使你能更了解「物件」、「方法」、「事件」的概念,請你自己試試看下面 這三個動作。
(1)將兔子的左右腳加上淡粉色,蝴蝶顏色改成綠色。
(2)在右邊 create new event 中選擇 when the mouse is clicked on something
(當滑鼠點在某物件上)。
(3)在 anything(任何物件)下拉式選單中選「whiteRabbit」,再選擇「the entire whiteRabbit」(整隻兔子)。意思就是指當滑鼠點在兔子身上的時候,程式 會執行的動作。
(4)接下來設定執行的動作,do 就是指要執行的 method,在這裏我們設定為 jump,如此一來,當使用者將滑鼠點在兔子身上的時候,兔子即會向上跳。
[課後練習]
1、下面總共有 3 個選項,請舉出他們分別具有什麼屬性和方法,並將你想到的 屬性和方法填入表格內。
物 件 屬 性 方 法
汽 車
時 鐘
貓
2、餅乾是小海龜最愛吃的食物了。請你設計一個如下圖的 world,有一隻海龜,
一個小矮凳,矮凳上面有一個餅乾。使用 move(移動)這個 method(方法), 將海龜移動到距離矮凳 2 meters 的地方,並且使用 turn to face(把臉轉向)
這個 method 讓小海龜面向餅乾。小海龜很高興有餅乾可以吃,於是對著鏡 頭揮揮手。
3、在冰天雪地裏有三個雪人,左邊是男雪人,右邊是女雪人,當男雪人看到女 雪人的時候,它發 ahem 的聲音引起女雪人注意,女雪人頭轉過去看男雪人,很 害羞的臉紅了,又把頭轉向右邊的女雪人,男雪人這時候也很不好意思,頭低低 的轉向另一邊了………(在 people 的分項下,可以找到 snowman(雪人)和 snowwoman(女雪人))。
1 男雪人吸引雪人的注意 2 女雪人臉紅了…… 3 男雪人很不好意思的 轉過頭
4、有一隻袋鼠在溴洲內地四處尋找早餐,就在他四處尋覓的時候,看到一個 z 字型的標誌,於是他就照上牌子的指示。請寫一個 hopLeft 的 method,讓袋 鼠稍微向右轉向並且跳躍,。再寫一個 hopRight 的 method,讓袋鼠稍微向 左轉向並且跳躍,。最後在 World.my first method 裏交叉使用 hopLeft 和 hopRight 這兩個 methods 兩認,使袋鼠看起來像 Z 字型的跳躍,跳往標誌 那裏。(你可以在 animals 裏找到袋鼠這個物件,在 Roads and Signs 裏找到 Z 字型標誌)。
1 袋鼠向下蹲 2 袋鼠向上跳 3 袋鼠向下跳
右圖是 Z 字型標誌的特寫=>
5、凱莉是個年輕的業餘馬術師,這次他要準備一個騎著馬跳個柵欄的競賽。他 很緊張,所以不停的練習。請你在 world 裏新增兩個 methods,其中一個命 名為 gallop,讓馬和騎馬者都向前跳一步;另一個命名為 jump,是馬跳過柵 欄的動作,當馬跳過柵欄的時候,要讓馬的四肢都舉起來,看起來像真的跳 過柵欄一樣。(你可以在 Animals 分類下找到 horse(馬),在 Buildings 分類 下找到 fence(柵欄))。
1 準備跳躍 2 向上跳
3 跳躍過柵欄 4 最後停止動作