1. 程式人生 > >個人在Unity3D開發中常用的小方法總結

個人在Unity3D開發中常用的小方法總結

----------------------------------------
銷燬物體
----------------------------------------
Tips:這裡需要實際研究OnTriggerEnter和OnCollisionEnter的區別和用法,可能存在Update方法中的實時監測方式
void OnCollisionEnter(Collision collisionInfo)
{
    Destroy(collisionInfo.gameObject);
}
作用:將觸碰到,寫有以上程式碼段的,繫結有該指令碼的物體,所碰到的其它物體全部銷燬。
----------------------------------------
物件的集中管理
----------------------------------------
List<物件型別> list= new List<物件型別>();
public void listInit()//物件列表初始化
{
    list.Add(物件1);
    list.Add(物件2);
    list.Add(物件3);
}
----------------------------------------
按鈕的監聽(UGUI畫布中的Button)——需要調整內容,關於delegate委託方法的知識點
----------------------------------------
foreach (Button btn in ButtonList)//這裡的ButtonList容器中,已經事先裝入了一些Button型別物件
{
    btn.onClick.AddListener(delegate()//為這個按鈕設定監聽器,並執行delegate ()委託方法,同時因為方法體短小,直接寫{}內部
    {
        OnClickM(btn);//當前類呼叫物件,即GestureControlSystem呼叫OnClick(obj),委託呼叫通過監聽器觸發
    });
}
----------------------------------------
物件的檢索
----------------------------------------
1.按照字串/數值檢索並執行對應方法
public void OnClickM(Button btn)
{
    switch (btn.name)
        {
            case "ButtonName":
        該情況下要執行的程式碼...........
                break;
       其他case:
        break;
        *
        *
        *
        *
            default:
                Debug.Log("Error");
                break;
    }
}
注意1:傳入該方法的引數可以為GameObject等其他型別。
注意2:例句組中雖然以名字進行檢索,但有些情況下也會給出一個int變數,以不同的值進行分支處理。
注意3:例句組中的"ButtonName"可以更換成其他綁定了例項物件的name屬性,即obj.name。
----------------------------------------
協程(根據時間控制執行緒/程序的執行進度)
----------------------------------------
IEnumerator testIE () 
{
    //等待時停前,執行的程式碼
    yield return new WaitForSeconds(2.5f);//2.5f代表時停的時長,即2.5秒,f是float型別數值必須加的字尾
    //等待時停後,執行的程式碼
}
注意1:yield return短語只能在協程(IEnumerator)方法中被使用,是協程類特有的返回方式。
注意2:一個IEnumerator方法中可以有多個時停(yield return)點,也可以在迴圈中加入時停點。
注意3:yield return不會直接跳出方法或傳出引數,僅僅代表時停點,所以在通常情況下,IEnumerator方法一定會被完整的執行完,或者直接跳過不被執行(非報錯型錯誤)。
----------------------------------------
文字的讀寫(txt)
----------------------------------------
逐行式讀取
foreach (var line in File.ReadAllLines("檔案路徑"))
{
    list.Add(line.Split(','));
}
作用:讀取txt檔案的每一行,並按逗號分割,存入list中,這裡的list是ArrayList物件,因為split返回物件就是陣列

寫入/換行寫入
FileStream fs = new FileStream("檔案路徑", FileMode.Create);//Create模式下,有則覆蓋檔案,無則建立檔案
StreamWriter sw = new StreamWriter(fs);//這是寫入流物件
sw.Write("***");//寫入
sw.WriteLine("***");//換行寫入
//清空緩衝
sw.Flush();
//關閉流
sw.Close();
fs.Close();
注意:清空緩衝很重要,如果沒有這一項,寫入檔案到一定字元量會停止繼續寫入,導致檔案內容缺失。
----------------------------------------
協程方法的呼叫方式
----------------------------------------
void Start () 
{
    StartCoroutine(testIE());

}
注意1:所有IEnumerator型別函式必須使用StartCoroutine(協程方法名())這個函式觸發,不能單獨使用。
注意2:Start方法可以將其返回值型別改變為IEnumerator ,這時無需StartCoroutine呼叫,但此方式不符合規範,請儘可能避免。
 

相關推薦

個人Unity3D開發常用方法總結

---------------------------------------- 銷燬物體 ---------------------------------------- Tips:這裡需要實際研究OnTriggerEnter和OnCollisionEnter的區別和用法,

日常開發常用方法

在前端開發過程中,找後臺同學拿資料這一part是必不可少的。但是後臺給的資料全都是你該渲染在頁面的嗎?後臺給的資料格式一定是你想要的嗎?如果你在實際開發中也曾像我一樣為提交的資料,或者拿到的資料煩惱過,那麼希望這篇簡單總結能幫上忙,哪怕是那麼一丟丟兒 哈哈哈測試一下你能一口氣讀出下列陣列的方法嗎

html及js常用方法(個人總結)

js內建物件 isNaN: 判斷一個元素是不是一個數字(not a number),也就是如果是一個數字返 回None,如果不是一個數字返回True. data物件的方法 getTime 1970-1-1至今的stamp(時間戳) getDate() 獲取時間中的天 getDay

開發常用的Jquery的一些方法總結

在前端的開發中,我一直都覺得有點難,學習其實重點在於總結,下面是在前端開發中經常使用到的一些標籤屬性,有空的時候就總結了一下: (1)$(selector).html():方法返回或者設定被選元素的內容,ps:在一定的程度上可以等同於value          分為兩種情

Object 開發常用的重寫方法總結toString,equals,hashCode,compareTo

public int hashCode() 返回該物件的雜湊碼值。支援此方法是為了提高雜湊表(例如 java.util.Hashtable 提供的雜湊表)的效能。 首先,想要明白hashCode的作用,你必須要先知道Java中的集合。   總的來說,Java中的集合(Collection)有兩類,一類是L

總結Array類型常用方法

包含 enc 對象 參考 http som 對數 fir 負數   Array類型應該是 ECMAScript 中最常用的類型之一了,並且它定義的數組與其他語言有著相當大的區別。數組是數據的有序集合,我們可以通過下標對指定位置的數據進行讀寫;特別的是,在 ECMAScrip

總結幾個介面常用方法

/** * 構建返回頭資訊 */ private function buildHeader($retCode, $retMessage) { $retNode = new stdClass(); $retNode->retCode = $retCode;

C#開發常用加密解密方法解析

一、MD5加密演算法 我想這是大家都常聽過的演算法,可能也用的比較多。那麼什麼是MD5演算法呢?MD5全稱是message-digest algorithm 5,簡單的說就是單向的加密,即是說無法根據密文推匯出明文。 MD5主要用途: 1、對一段資訊生成資訊摘要,該摘要對該資訊具有唯一性

c#常用ToString()方法總結

對於int,double等的tostring: C     貨幣     2.5.ToString("C")     ¥2.50    

開發常用的加密演算法大全初步總結

   為什麼要使用加密演算法:在開發的過程中,為了能夠保證程式能夠安全高效執行,資料資訊不被洩露,我們通常都會對要操作的資料就行加解密,從而提高程式的安全性。比如常見的客戶端和後臺伺服器的資料互動傳輸,

ios開發常用的幾種輔助方法

//1.Keychain本地長期鍵值儲存 //刪除 +(void)deleteStringForKey:(NSString *)aKey { NSMutableDictionary *query = [NSMutableDictionary dictionary];

C#開發常用的加密演算法總結

相信很多人在開發過程中經常會遇到需要對一些重要的資訊進行加密處理,今天給大家分享我個人總結的一些加密演算法: 常見的加密方式分為可逆和不可逆兩種方式     可逆:RSA,AES,DES等     不可逆:常見的MD5,SH

微信程式開發的http請求總結

在微信小程式進行網路通訊,只能和指定的域名進行通訊,微信小程式包括四種類型的網路請求。 普通HTTPS請求(wx.request) 上傳檔案(wx.uploadFile) 下載檔案(wx.downloadFile) WebSocket通訊(wx.connectSocket) 這裡以介紹wx.request

String對象常用方法有哪些?

bsp rec val 字符串長度 方法 end 出現 小寫 轉變 1、length()字符串長度   String str="abc"; System.out.println(str.length()); //輸出3 2、charAt()截取一

轉載----編寫高質量代碼:改善Java程序的151個建議(第1章:JAVA開發通用的方法和準則___建議1~5)

ase 重載方法 name 原理 .get tin stat eas 容易 閱讀目錄 建議1:不要在常量和變量中出現易混淆的字母 建議2:莫讓常量蛻變成變量    建議3:三元操作符的類型務必一致   建議4:避免帶有變長參數的方法重載 建議5:別讓null值和空值威

iOS開發常用的宏

tar lin iter standard ffi ant height same alt OC對象判斷是否為空? 字符串是否為空 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] ||

vue2.0+echarts可視化圖形開發遇到的問題總結

首頁 異步請求 自己的 點擊事件 blog -i vue 選項 set 項目首頁如上圖所示: 先說說我的想法吧,此頁面共包含title,tabs(選項欄),materchart(儀表盤),loading(等待加載提示),btns(按鈕)四個組件, 1、表盤組件所用到的數據

String類常用方法(重要)

循環 類型 demo width 尋找 str2 子字符串 replace table 1.字符串與字節 public String(byte[] byte); 將全部字節變成字符串 public String (byte[] byte,int offset,in

JAVA開發遇到的異常總結

原因 counter ping 無法使用 kdt 訪問類 tin 響應時間 lang 最常見的五種異常:必會,面試題:  算術異常類:ArithmeticExecption   空指針異常類:NullPointerException   類型強制轉換異常:ClassCast

關於js數組方法總結

filter foreach 默認 tin ffffff 關於 調用 index reducer 數組在筆試中經常會出現的面試題,javascript中的數組與其他語言中的數組有些不同,為了方便之後數組的方法學習,整理了關於數組的操作方法 數組創建 JavaScript中創