2011年11月28日 星期一

【進階教學】齒輪碰撞 - Unity Gear Collision

1.建立Maya齒輪
2.匯入FBX至Unity

3.製作旋轉齒輪
4.建立齒輪碰撞基體 方塊和圓餅
5.將齒輪的Mesh與方塊碰撞基體放入圓餅碰撞基體中
6.關閉圓餅碰撞基體

7.製作被動齒輪
8.將製作好的旋轉齒輪複製一個出來
9.建立空的GameObject
10.將所有旋轉齒輪的物件拉入GameObject
11.新增RigiBody並關閉use Gravity

12.將兩個齒輪擺在適當位置
13.旋轉齒輪加入AutoRotate.js


2011年11月27日 星期日

【基礎語法】程式註解 - //, /* ~ */

註解就是指程式的說明文字,方便了解程式的結構與偵錯
程式 註並不會被執行

程式語法:
// 注解
/* 注解... */


複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果,會發現沒有東西會被輸出XD

【基礎語法】continue & break 陳述式

continue :
停止迴圈並執行新的反覆運算
只能在 while、do while、for 或 for in 迴圈中使用 continue

break :
結束迴圈或陳述式
可以在 switch 及 while、do while、for 或 for in 迴圈中使用  break


複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果

【基礎語法】Switch case 陳述式 - Switch case

當運算式的值符合某個標籤時,可執行一或多個陳述式

程式語法:

Switch(要評估的運算式) {

case條件1:
        程式區塊
        break;

case條件2:
        程式區塊
        break;

case條件3:
        程式區塊
        break;...

default:
        程式區塊

}

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
使用鍵盤輸入,仔細觀察程式輸出的結果

【基礎語法】do while 迴圈 - do while

do while 迴圈和 while 迴圈類似
do while 迴圈保證至少執行一次
因為條件判斷在後面而不是開頭

程式語法:
do {
  程式區塊
}while(條件判斷);

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果

【基礎語法】while 迴圈 - while

while 迴圈與 for 迴圈類似,一樣會重複執行程式區塊
差別在於 while 迴圈不需要事先設定執行的次數或更新運算式

程式語法:
  while (條件判斷){
程式區塊
}

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果

【基礎語法】for in 迴圈 - for in

for in 類似 for 迴圈,但使用方式不太相同
主要是逐步執行使用者定義屬性、陣列中的元素

用法:
for (宣告變數 in 物件/陣列){
  程式區塊
}

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果

【基礎語法】for 迴圈 - for

for 迴圈每次重複前,會先測試條件
如果條件才會執行迴圈內部的程式碼
如果條件不成立,就跳出迴圈...(自由啦!!誤)。

用法:
for (設定迴圈初始值 ; 判斷終止迴圈的條件 ; 增減量){
  程式區塊
}

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果

【基礎語法】if else 陳述式 - if else

直覺翻譯就是:如果-否則

最有用的控制結構之一
當條件成立就執行程式碼,否則就執行另一段程式碼
也可以當條件不成立時不做任何事情,省略 else

程式語法:

if (條件式) {
        程式區塊
}

if (條件式) {
        程式區塊
}else{
        程式區塊
}

if (條件式A) {
        程式區塊
}else if (條件式B){
        程式區塊
}

if (條件式A) {
        程式區塊
}else if (條件式B){
        程式區塊
}else if (條件式C){
        程式區塊
}.........
else{
        程式區塊
}

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果

【基礎語法】 宣告變數 - var

宣告 變數 就是在 變數 使用前將 變數 的資訊讓程式知道
程式會配置適當的空間給 變數 使用
變數簡單的來說它是可以改變數字(或字串),設定變數可以取代複雜的數字

變數命名規則:

不能使用數字開頭
不能使用中文
同區塊下宣告變數不能重複

程式語法:

var 變數名稱;
var 變數名稱 = 初始值;
var 變數名稱 : 資料型態;
var 變數名稱 : 資料型態 = 初始值;

常用的的資料型態
int(整數)、float(浮點數)、boolean(布林)、String(字串)

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果...(不會有結果...因為沒有東西會被輸出

【基礎語法】 宣告函數 - function

函數就是把經常使用的程式封裝起來,成為獨立的區塊,以增進程式的效能與開發時間

程式語法:

function 函數名稱 (參數 a, 參數b...) {
  程式區塊
}

複製以下範例並貼到JavaScript裡,拖曳到上攝影機上執行
仔細觀察下列程式輸出的結果