Alice 3D 動畫程式設計

2013/08/06 謝碧景(c)編製更新

 學習目標

  1. 瞭解什麼是程式設計及物件導向程式設計的基本觀念。
  2. 安裝及瞭解 Alice程式開發環境。
  3. 瞭解變數、運算式及內建函數等程式基本組成要件。
  4. 學會程式流程控制之循序、選擇及重複等三種基本結構設計。
  5. 藉由動畫作品展示與分享,啟發同學們之創意發想。

 緣由

Alice為美國卡內基美隆大學(Carnegie Mellon University)開發出來的一套免費教學軟體,其開發團隊,都是愛麗絲夢遊仙境作者Lewis Carroll的書迷,故命名『Alice』;軟體可在 Alice官網上免費下載,透過其3D動畫(視覺化)程式開發環境,及動態結果,提升學生學習程式設計之興趣;學習Alice有助加強你對程式流程的認知,及物件導向的基本概念,進而學習Java或 C/C++語言。學生在自創的3D虛擬世界,藉由程式語言控制3D物件的動作,Alice可創建有情節的動畫,或互動式遊戲。當你對程式邏輯有直覺性的了解後,將更有能力使用不同的軟體,提昇自己的問題解決能力。 範例:Alice: Programming for a New GenerationPaladin Project[Alice 2.0]【摘自:YouTube】 

 Alice 安裝

  •  Alice官網:http://www.alice.org
  •  Alice 3.2版下載:如下左圖,官網:選取【Downloads→Get Alice 3】,接著如下右圖,選取【Download Alice 3.2 installer for Windows】
  

 Alice 程式開發環境 

  • 選取背景版型:在【Select Project】對話框中,選取【專案的背景版型→樣版Template】頁面,如下圖,選取【SNOW→確定】。

  • 設定語系:開啟 Alice 軟體→選取【Window→Preferences→Locale→中文(台灣)】,即可將環境中文化。

  • Alice 操作介面:
 Edit Code 編撰物件程式碼畫面:
 Setup Scene 場景設計畫面:
 *註1:類別(classes)中包含許多物件(Object)。

*註2:
物件具有許多特性,稱為屬性(property);而用來操控物件的動作,稱為方法(method);用來取得物件的資訊,稱為函數(function)。

 Alice 3D虛擬世界

  • Alice 的3D虛擬世界中的物件(Object)
 Setup Scene 場景設計畫面:
  • 場景下方三個箭頭圖示,可調整攝影機的位置與角度。
  • 3D物件:每個立體物件有寬、高、深等三個維度;物件有一個中心點,預設3個坐標軸,以『物件的角度』為標準,,控制物件的上下左右前後等六個方向。
  • 物件具有許多特性,稱為屬性(property)

 Edit Code 編撰物件程式碼畫面:
  • 用來操控物件的動作,稱為方法(method),會改變世界的狀態。設定物件的方法,例如:移動、旋轉、面向、寬高深度、大小、說話等。
  • 用來取得物件的資訊,稱為函數(function),為某特定功能或目的預先撰寫好的一段程式,可傳會一個含數值,含數值、字串、布林值、物件等資料型態。可分物件型函數及通用型函數。
  • 物件中包含其子物件的設定:例如:
    • getpelvis 設定骨盆的旋轉或面對方向等。
    • getSpineBase 設定脊柱的旋轉或面對方向等。
    • getNeck 設定頸部的旋轉或面對方向等。
    • getRightHip 設定髖關節的旋轉方向等。
    • getRightKnee 設定膝蓋的旋轉或面對方向等。
    • getRightAnkle 設定腳踝的旋轉或面對方向等。
    • getRightClavicle 設定鎖骨的旋轉或面對方向等。

 設計步驟

進入Alice 世界中,首先選取3D世界的【場景】(Setup Scene),在場景中【新增物件】,並調整物件的位置及大小(即屬性設定),完成場景設定後,開始設計故事情節(Edit Code),即在各物件身上編撰程式碼(採拖曳式指令控制3D動畫),最後Run執行播放動畫即可。

簡單設計三步驟: 教學影片
 1.Setup Scene場景設定:新增物件2.Edit Code編撰物件程式碼(屬性.方法):文字敘述故事情節 → 3.Run執行

  • 場景變更及屬性設定  教學影片

 程式設計之流程控制

  • 循序結構:do in order (依照順序執行),範例:alien (物件→子物件) 抬起、放下右膝,再抬起、放下左膝  教學影片
  • 平行結構:do together (同時執行),範例:alien (物件) 向前步行  教學影片
  • 選擇結構:If ~ else→巢狀選擇結構
  • 重複結構:count up to ~ loop 計次式迴圈巢狀計次式迴圈;範例:alien(物件) 面向攝影機,說2次「嗨!你好!」並播放聲音  教學影片   檔名:ex-1.a3p
  • 重複結構:while 條件式迴圈巢狀條件式迴圈
  • 重複結構:for all in order 全部依序做
  • 平行結構:for all together 全部同時做
*註:中文化:

 Upload to Youtube

【檔案File→Upload to Youtube】:先按下Record】錄製動畫,錄製好按下【STOP】停止錄製→按下【Next】,即可login to YouTube】登入YouTube帳號密碼,即可完成上傳。

【File→Upload to Youtube
 按Record】錄製動畫→完成後【STOP】停止錄製→【Next】
 login to YouTube】登入YouTube帳號、密碼


 Alice 數位學習網

 Alice 程式設計簡介--以Alice為例(摘自:建國中學電腦科)
 Alice 數位學習網(未完→摘自:南港高中電腦科)