【演算法實作筆記】二分搜尋法 C#實作in Unity

用以搜尋已排序的一串資料,由小排到大 輸入:正整數n 輸出 :n在S中的位置 原理 輸入值與S陣列的中間值比大小 當輸入值比較大時,接下來只需要判斷S陣列中間值的右邊那一串陣列即可 反之亦然。 using UnityEngine; using System.Collections; public class BinarySearch_ : MonoBehaviour { public int middle; int[] hi = new int[5]{1,2,3,4,5}; void Start() { middle = Location (hi, 0, 5, 3); binarysearch (hi, 2); } //遞迴版 二元搜尋 //遞迴呼叫時如果不改變質卻傳進去會消耗很多變數的地址 ...
Share:
Read More
【Unity】使用動畫曲線 — AnimationCruve

【Unity】使用動畫曲線 — AnimationCruve

有使用過Unity動畫狀態機的想必會覺得可以隨意新增Key來調整曲線這些功能很方便 那如果有天我只是想簡單做個事,像是把一張圖片放大,我個人會比較想能少一點東西就少一點東西,因此就可以使用到 AnimationCruve ,跟動畫機一樣可以調整曲線的類別。 關於AnimationCruve 在官方文檔中有詳細說明 https://docs.unity3d.com/ScriptReference/AnimationCurve.html 使用的時候就直接在腳本內宣告AnimationCruve public AnimationCurve Curve; 在script外看來是這樣 夠簡單吧!...
Share:
Read More
【UE4】Unreal 與HTC vive的結合 - 環境設置

【UE4】Unreal 與HTC vive的結合 - 環境設置

題外話: 上次發布時間是5月27... 原本想說每個月發一篇的,但有時候做出的東西就真的很小很不足拿出來紀錄,而且有些也是自己隨便弄弄做出來的東西,半桶水而已也不好發XD小弟玻璃心,如果說改正哪裡什麼的,哪邊錯誤的留言我會很開心,但如果出現:『像這種程度就自己紀錄就好別發出來的話』我的玻璃心會碎的QQ不過最近因為實習,有研究unreal的引擎,想說可能有些人入門的時候會跟我一樣會遇到些困難,所以就還是PO了 XD,太深入的我也不太了解,我只能講出我所看到,所查到的各種問題,拜託鞭小力一點。接下來也是一連串的Unreal,因為unity最近比較少碰XD ____________________ 由於官方已經有怎樣設置環境的教學了,這邊只是將他補充說明與製作上會遇到的困難部分講解一下而已 官方也有個故障排除可以參考 點這裡 1....
Share:
Read More
[C#] 使用Mathf.Sin與Cos取得圓上點座標

[C#] 使用Mathf.Sin與Cos取得圓上點座標

最近要使用到算圓,因此想到以前常用的三角函數,sin、cos Mathf.sin 官方的api裡面註明了 Returns the sine of angle f in radians. 他輸入的是弧度,所以如果想求 圓上某個點的座標,要先把弧度轉換成角度 什麼是弧度呢? 看下圖應該很明顯了XD (取自維基百科) 兩者關係就是 1弧度 = 360°/2π ≒ 57.29° 1° = 2π/360° ≒ 0.0174533(弧度) 這是比較公式化的,如果自己去算的話,就是照上面的圖,180°,分成180份 然後除以長度,就會得出0.017453.... 這樣就知道1度等於0.0174533弧度,假如想求90度的話,就*90就好了 Mathf裡面已經定義好常數給你使用了 分別是 Mathf.Deg2Rad跟Mathf.Rad2Deg 以下簡單示範一下 float...
Share:
Read More
【UGUI】不規則圖片觸發範圍修改

【UGUI】不規則圖片觸發範圍修改

NGUI有boxcollider可以自己調整觸發的範圍 但UGUI由於不是用boxcollider來觸發的,所以要修改也要有另外個方法 基本上用雨松的方法就行了-->連結在此 但找到另外一種方法,可以少寫比較多的代碼,但比較不靈活(?,沒辦法自己控制想要的範圍 首先有這麼一張圖,做成UGUI的按鈕的話,透明的地方也會被觸發到 而今天我想消除透明的地方,只有有顏色的地方才能觸發 先把匯入的圖檔先調一下,調成可讀可寫的 然後+入一個腳本 using UnityEngine; using System.Collections; using UnityEngine.UI; public...
Share:
Read More

[Unity] NGUI與UGUI分別如何攔截事件

由於常常會發生點擊了介面,遊戲內的物件也會被觸發的關係 所以會用到攔截事件,而NGUI的方面比較簡單,只要添加 if (UICamera.isOverUI) return; 當我們在射線檢測的時候,如果點擊到UI就不會發生反應了 UGUI方面的話則是 #if IPHONE || ANDROID if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) return; #else if (EventSystem.current.IsPointerOverGameObject()) return; #endif 由於要判斷平台,所以比較長 下面那句則是PC使...
Share:
Read More
【C#】continue跟return與break用法

【C#】continue跟return與break用法

很多書都有提到,但最近寫的專題裡面用到就順便記下來了 continue : 跳過這次迴圈(i),並執行下一次(i+1)的迴圈 然後執行完迴圈後會回到上一層繼續執行未完成部分 Ex: void Start () { for (int j=0; j<5; j++) { if(j==3) continue; Debug.Log("continue: "+j); } Debug.Log ("我在外面"); } 假設今天有個for循環 印出0~4數字 這時候如果我們想說,不印出3 這時候只要像上面那樣 就可以略過3了 並且,他會繼續執行略過後的方法 return...
Share:
Read More