# Unity Note
## 基礎筆記
場景中所有的物件以組件(Component)為基礎
物件上搭配組件的堆疊創造出需要的遊戲效果
Scrpit同樣可以用組件的方式賦予給物件



腳本同樣也可以停用與刪除

---
# Unity與C#的基本概念





### 繼承

>繼承於Monobehaviour才可以使用start跟update(繼承/使用其中的指令)
### start&update

### Unity 腳本的生命週期

可以用Debug.Log("印出文字")測試腳本運行
Window>Console觀看Debug log
### 取得(捕捉?)特定遊戲物件上的組件


---
### 開啟與關閉特定遊戲物件




> 注意編寫的順序,GameObject一旦被停用,組件皆會停止運作。
---
# 變數觀念與位移、物理控制
* 在Game視窗設定解析度
* 調整攝影機大小
* 避免圖片在過程中被縮放
## 攝影機

↓這個不知道怎麼換算到DG的畫面
Othographic:平行視角(2D攝影機)
#### 弄懂了!
整個pixel高度(寬)除以2除以100
=1080/2/100


## 控制位移
座標中若有小數點需在後面加小寫f。
=:賦予數值

+=:將數值加入

Time.deltatime:平衡執行次數

Rigidbody2D velocity(向量速度)
velocity=Vector2 (x,y)

判斷按鍵是否被按下,按下的是哪一個按鍵



# 專案整理、變數修飾詞及邏輯運算子
資料夾記得整理,東西不要擺外面
變數
變數名稱
變數型態
資料


裡面裝著的東西叫什麼

## 變數修飾詞
Class-變數-Method
公有與私有變數宣告(public),想要該變數(容器)可以被取用需設為公共
private可以被忽略,未輸入修飾詞將默認為private
設置公有變數時,該變數會出現在介面上,可以進行調整


## 邏輯運算子
運用在較複雜的邏輯判斷
> 我沒有邏輯了……
||=或
&&=且

這邊用||簡化了,如果左或右任一方向鍵被放開(任一條件成立)即將移動速度歸零

# 動畫片段建立與動畫控制
Animation Clip:切換組件與物件的屬性狀態
透過Animator組件管理
Animator管理Animation clip的狀態,可自行設計切換時的方向性(順序)
1:00
(秒:格數)
Sample:每60格跑一秒

Animator>Parameter(變數)

Has Exit Time:前個動畫狀態到特定時間才切換動畫狀態

# 觸發區域與產生、刪除物件
Trigger:觸發區
Colider>In Trigger:設定為觸發區
音效置入時可以把最遠距離調小(範例為吃金幣的音效)

距離與聽取的演示圖

建立好物件,動態產生預置物(隨機物品?)

在遊戲場景中,實例化(產生)物件的方法
Instantiate(Object original);


# 透過陣列與迴圈處理重複事件
## 陣列宣告-類別後面加上[]
public GameObject[] active Objects;
## 陣列物件-變數後面加上索引(index)
activeObjects[index]
for迴圈
用Debug Logs抓資料
結束條件上的活用-依變數長度的改變為迴圈結束條件
Ex: activeObjects.Length=變數長度的改變
# UI介面與計分

錨點在