發表文章

目前顯示的是 5月, 2020的文章

1_Unity學習筆記,就讓我們先來說說MonoBehaviour吧!

是的,我這邊並不會告訴各位怎麼安裝Unity請自己上網爬文,這裡從C#開始出發告訴各位如何使用Unity。 請把在下我當作業餘的來看看吧,這裡只會記下我的經驗。 Awake() Start() Update() FixedUpdate() LateUpdate() 通常會看到以上這種東東,來來來來,這是甚麼呢? 關於流程圖的部分就請各位自由爬文,在下可以算是個懶人哈哈! 總之在這邊稍微介紹一下,一般來說看起來會像是:  Awake()     ↓    Start()     ↓ FixedUpdate()←←     ↓      ↑  Update()   ↑     ↓      ↑  LateUpdate()→→↑ 的流程,每個場景開始,會先執行每個物件身上的Awake(),接著執行每個物件身上的Start() 都執行完後將會迴圈所有物件依照如上圖的順序。 FixedUpdate最重要的是他每次間隔都是絕對的,在Edit > Project Settings > Time 可以找到 Update則是針對每一禎都會執行,因為禎數會隨著遊戲效能而有所不同,因此Update的間隔都不一定,可以利用Time.deltaTime取得每一禎的時候再秒數的比例。 LateUpdate就跟Update一樣,不過會觸發在Update後面。 另外介紹一些我個人比較常用到的: OnApplicationFocus 當遊戲被縮小或失去焦點的時候會觸發 OnApplicationPause 當遊戲被暫停的時候,電話來了之類的 OnApplicationQuit 當玩家離開遊戲前會先觸發此才關閉程式 OnCollisionEnter 當碰撞到的時候 OnCollisionEnter2D 同上,2D時使用,忽略Z軸 OnCollisionExit 當碰撞體離開時 OnCollisionExit2D 同上,2D時使用,忽略Z軸 OnCollisionStay 當碰...

Unity儲存以及讀取

圖片
在Unity中,有很多種讀取及儲存的方式,在此我會稍微介紹我有碰過的方法,如果有方法我沒介紹到,基本上就是我沒碰過的沒甚麼好意外哈哈! 『 Editor only,只能使用在編輯器的 』 【Prefab & Unity.Object】 儲存預製物(Prefab): PrefabUtility.CreatePrefab("Assets/prefab/" + prefabName + ".prefab", MyPrefab); //儲存預置物到外部 儲存Unity.Object,Sprite,Material,自定義的Asset: AssetDatabase.CreateAsset(MyAsset, string.Format("Assets/{0}.asset", MyAssetName)); 不論prefab還是Asset都可以使用此讀取: (GameObject)AssetDatabase.LoadAssetAtPath(string.Format("Assets/{0}.prefab", MyPrefab), typeof(GameObject)); GameObject換成要讀取的東西,例Texture2D、TextAsset等。 『 一般狀況皆可使用 』 【PlayerPrefs】 儲存一般資料,利用Unity本身提供的儲存方式PlayerPrefs: macOS是儲存在 ~/Library/Preferences資料夾中,名為unity.[company name].[product name].plist的檔案。 Windows是儲存在Regedit裡的HKCU\Software\[company name]\[product name]裡面的Key&Value。 在Editor上跑的話,有可能會儲存在HKCU\Software\Unity\UnityEditor\DefaultCompany\[product name]裡面 使用方式非常簡單: PlayerPrefs.SetFloat("key",Value); //Value 為 Float PlayerPrefs.Set...