亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

享受一下大神的感覺,unity中用C#自己封裝dll

2019-11-14 13:53:47
字體:
來源:轉載
供稿:網友

第一次寫博客,有什么不對的地方,歡迎大家指出

(1)打開vs(本人用的是vs2013)然后建一個項目,如下圖所示,選擇.ENT3.5的框架,或者低于3.5,這是因為Unity里面用的框架可能在3.5以下,不然會報錯,然后給自己的dll改名字選擇路徑(這個路徑等一下要用)

(2)進入項目之后,如果你不需要用到unity里面的類或者封裝的方法,你就直接寫你想要封裝的方法,如下:

 

 1 namespace MyDll   //命名空間(在unity里面是沒有namespace)所里在unity里面使用的時候,需要在腳本上面加using MyDll 2 { 3     public static class Compute    //類名     4     { 5         public static int GetMax(params int[] arr)    //靜態類,當然這里你可以自己寫成非靜態的也可以,只不過在Unity里面需要實例化 6         { 7             for (int i = 0; i < arr.Length; i++)  //這里是一個冒泡排序 8             { 9                 for (int j = 0; j < arr.Length - i - 1; j++)10                 {11                     if(arr[j] >arr[j+1])12                     {13                         int temp = arr[j];14                         arr[j] = arr[j+1];15                         arr[j + 1] = temp;16                     }17                 }18             }19             return arr[arr.Length - 1];20         }21     }22 }

當然,咱們主要講的是unity,但是vs里面的類是繼承不了MonoBehaviour,所以咱們需要導入unitydll,這樣才可以使用unity里面封裝的方法

導入步驟

 

然后選擇左邊瀏覽 最近 下面瀏覽,選擇你要導入的unity封裝的dll的路徑,點擊確定就可以導入成功了,我這里導入的是 UnityEngine.dll

(unity封裝的dll你可以在unity里面建一個項目,建一個腳本,打開vs右邊有個引用,打開之后,鼠標選中,在下面就可以看到路徑了)

然后寫跟上面一樣添加一個類(右鍵MyDll-添加)例如

 

 1 using UnityEngine;  //導入命名空間(當然如果需要使用UI的話,你只需要再倒入)UnityEngine.UI就可以了,方法都是一樣的 2 /// <summary> 3 /// 封裝一個攝像機控制腳本 4 /// </summary> 5  6 [AddComponentMenu("Camera/Controller")]  //這是把該類最為一個組件添加到里面unity屬性面板下面AddComponent的菜單欄,字符串表示路徑 7 public class CameraController : MonoBehaviour  (這個類你也可以寫到自己想要的命名下,在用的時候需要導入命名空間就行了) 8 { 9     public Transform target;  //攝像機跟隨的目標10     PRivate Vector3 offset;  //目標和攝像機的偏移量11 12 13     void Awake()14     {15         offset = transform.position - target.position;  //求偏移量16         transform.LookAt(target.position);  //初始看向目標點17     }18 19 20     private void CameraFollow()21     {22         transform.position = target.position + offset;  //保持攝像機和目標點的偏移量不變,就實現了跟隨23     }24 25 26     void Update()27     {28         CameraFollow();29         CameraScroll();30     }31 32 33     private void CameraScroll()34     {35         if (Input.GetAxis("Mouse ScrollWheel") != 0)36         {37             Vector3 temp = offset.normalized * Input.GetAxis("Mouse ScrollWheel"); //求出應該滑動的方向和距離38             offset = offset + temp;  //應該移動所處的偏移量39 40 41         }42     }43 }

(3)目前咱們已經寫好了兩個類了,下面我們需要生成dllVS最上面的菜單欄有一個"生成" - "生成解決方案", 或者直接F6

(4)然后我們到自己的剛才的項目文件夾里面,找到dll文件(因為很好找,這里我就不細說了)

(5)找到之后把他導入到我們的unity工程里面,放在Project里面(盡量建一個文件夾Plugins,放在里面,以防出錯)

(6)這時候我就可以用了,下面是使用的例子

6.1這里先說一下unity封裝的用法

6.1.1如果你剛才在類上面加了[AddComponentMenu("Camera/Controller")]   就可以再屬性面板AddComponent找到Camera-Controller就是你封裝的這個類,直接選擇就可以

因為在封裝的時候,已經繼承了MonoBehaviour ,所以是可以繼承的(如果沒有加上這句代碼,應該也是可以加載的)

6.2再說一下封裝的算法

6.2.1如果你剛才加了命名空間,在使用里的方法的時候,需要using空間名然后使用的方法就和平時的一樣了,如下

 1 using UnityEngine; 2 using System.Collections; 3 using MyDll;  //導入命名空間 4  5 public class TTTT : MonoBehaviour  6 { 7    void Awake() 8     { 9         Debug.Log(Compute.GetMax(3,10,7,5,4));   //剛才封裝的方法10     }11 }

(7)最后一點,如果沒有調框架的話,會出現以下錯誤(這個困惑我很長時間,因為我看到其他的帖子上面都沒有提到怎么可以解決這個錯誤的,后來把.NET框架調低之后好了)

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久国产精品| 国产精品日韩欧美大师| 久久香蕉国产线看观看av| 成人激情视频在线| 日韩网站免费观看高清| 久久资源免费视频| 国产精品久久国产精品99gif| 国产视频精品久久久| 国产婷婷色综合av蜜臀av| 国产主播欧美精品| 国产精品一区二区在线| 久久久亚洲精品视频| 成人有码视频在线播放| 97香蕉超级碰碰久久免费的优势| 欧美xxxx18性欧美| 国产精品99久久99久久久二8| 久久免费视频这里只有精品| 国产精品v片在线观看不卡| 久久久久免费视频| 国产欧美日韩高清| 91亚洲精品在线观看| 欧美肥婆姓交大片| 国产成人精品视频| 亚洲天堂av网| 日韩欧美中文在线| 92福利视频午夜1000合集在线观看| 欧美xxxx14xxxxx性爽| 国产婷婷成人久久av免费高清| 久久国产精品久久久久久| 色综合91久久精品中文字幕| 日本高清+成人网在线观看| 日本精品一区二区三区在线播放视频| y97精品国产97久久久久久| 韩国福利视频一区| 91色在线视频| 91精品久久久久久久久久久久久| 亚洲国产精品99久久| 性色av一区二区三区免费| 九九热最新视频//这里只有精品| 亚洲免费电影一区| 久久久久久91| 国产精品网红直播| 亚洲精品国产精品乱码不99按摩| 91av视频在线免费观看| 777777777亚洲妇女| 欧美综合第一页| 91香蕉嫩草神马影院在线观看| 欧美与黑人午夜性猛交久久久| 亚洲美女中文字幕| 一色桃子一区二区| 久久九九有精品国产23| 亚洲中国色老太| 456国产精品| 欧美午夜精品伦理| 久久免费福利视频| 91国在线精品国内播放| 欧美精品18videos性欧美| 黑人巨大精品欧美一区免费视频| 国产91精品最新在线播放| 亚洲综合国产精品| 欧美色道久久88综合亚洲精品| 欧美理论电影在线观看| 久久伊人色综合| 91丨九色丨国产在线| 成人精品一区二区三区| 精品中文字幕视频| 国产69精品久久久久99| 日韩精品高清在线观看| 精品久久久香蕉免费精品视频| 亚洲第一福利网站| 亚洲欧洲自拍偷拍| 亚洲人午夜精品免费| 日韩黄色在线免费观看| 欧美日韩在线视频首页| 欧美重口另类videos人妖| 欧美激情免费在线| 亚洲精品美女在线观看播放| 精品中文字幕视频| 成人国产精品av| 欧美黄色片视频| 日韩精品在线私人| 精品国产一区二区三区久久狼5月| 亚洲一区二区中文字幕| 91中文字幕一区| 九九九久久久久久| 国产精品久久999| 91久久精品国产91性色| 国产精品久久久久久久久久99| 日韩在线视频中文字幕| 欧美成人性色生活仑片| 国产女人18毛片水18精品| 国产一区二区视频在线观看| 日韩成人在线电影网| 国产97在线播放| 日本韩国欧美精品大片卡二| 亚洲第一精品自拍| 亚洲国产日韩欧美在线动漫| 91国产美女在线观看| 欧美精品videosex牲欧美| 国产999在线| 欧美激情2020午夜免费观看| 日韩国产高清污视频在线观看| 欧美极品美女视频网站在线观看免费| 91精品视频免费观看| 91精品视频一区| 国产免费亚洲高清| xxxxx91麻豆| 国产精品亚洲片夜色在线| 77777少妇光屁股久久一区| 91久久久久久久| 久热99视频在线观看| 一本一本久久a久久精品牛牛影视| 亚洲区免费影片| 91在线观看免费高清完整版在线观看| 亚洲黄色成人网| 国产色婷婷国产综合在线理论片a| 日韩中文字幕在线| 午夜美女久久久久爽久久| 伊人久久久久久久久久久| 在线视频日韩精品| 国产精品流白浆视频| 久久久久久久成人| 欧美日韩国产中文精品字幕自在自线| 少妇精69xxtheporn| 国产欧美婷婷中文| 欧美在线日韩在线| 国产亚洲欧美日韩美女| 日韩电影免费在线观看中文字幕| 国产精品一区二区三区久久久| 欧美日韩午夜剧场| 97在线看免费观看视频在线观看| 国产日韩精品视频| 亚洲国产日韩欧美综合久久| 国产91色在线| 91国内揄拍国内精品对白| 91色在线视频| 久久国产精品影视| 亚洲国产另类 国产精品国产免费| 欧美一级淫片aaaaaaa视频| 国产精品网站视频| 欧美中文在线观看国产| 久久九九全国免费精品观看| 亚洲xxxx做受欧美| 亚洲欧美国产精品久久久久久久| 亚洲一区二区三区毛片| 亚洲精品456在线播放狼人| 欧美日韩国产中文精品字幕自在自线| 91亚洲国产成人久久精品网站| 日韩欧美成人网| 国产精品久久久一区| 亚洲人成电影网站色| 亚洲免费av片| 国产日韩欧美自拍| 欧美日韩色婷婷| 91福利视频在线观看| 精品久久久久久亚洲国产300| 97国产精品视频人人做人人爱| 国产91精品久久久| 欧美中文字幕第一页| 成人性生交xxxxx网站| 日韩精品在线视频观看| 久久久久中文字幕| 亚洲中国色老太| 日韩高清不卡av|