• 沒有找到結果。

物件、屬性、方法、與事件

在文檔中 1. 程式設計教學的發展。 (頁 28-40)

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 最後停止動作

在文檔中 1. 程式設計教學的發展。 (頁 28-40)

相關文件