国产高清网站_亚洲一区二区综合_成人久久18免费网站_国产成人久久精品激情

您現(xiàn)在所在的位置:首頁 >學(xué)習(xí)資源 > 面試題庫 > Unity3D題庫

Unity3D題庫

來源:奇酷教育 發(fā)表于:

1 [易]A和B同時掛了兩個腳本,生命周期分別由awake,onenable,start,那么這兩個物體的執(zhí)行順序是:(A的awake,A的onenable,B的awake

 
1.   [易]A和B同時掛了兩個腳本,生命周期分別由awake,onenable,start,那么這兩個物體的執(zhí)行順序是:

(A的awake,A的onenable,B的awake,B的onenable,A的start,B的start)
 
2.   [易]點乘和叉乘在數(shù)學(xué)上的表現(xiàn)

點乘是一個float值,結(jié)果越大,兩個向量越相似,叉乘是一個vector,兩個向量的叉乘分別垂直于這兩個向量
 
3.   [易]AssetBundle下載到哪一個文件夾了

沙河目錄的persistdatapath
 
4.   [易]光照模型Lambert的內(nèi)部計算

Diffuse = I  * dot(L,N)
 
5.   [易]使用單例的好處

通過單例模式可以保證系統(tǒng)中一個類只有一個實例而且該實例易于外界訪問,從而方便對實例個數(shù)的控制并節(jié)約系統(tǒng)資源。單例模式會阻止其他對象實例化其自己的單例對象的副本,從而確保所有對象都訪問唯一實例。
 
6.   [易]C#中的字典怎么實現(xiàn),里邊的哈希表是怎么碰撞的,字典的時間復(fù)雜度

Dictionary(字典)是使用 hash表來實現(xiàn)key和value之間的映射和存儲的。
Dictionary使用的解決沖突方法是拉鏈法,又稱鏈地址法。
字典的時間復(fù)雜度是O(1)
 
7.   [易]堆和棧介紹一下

a)棧是編譯期間就分配好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;堆是程序運行期間動態(tài)分配的內(nèi)存空間,你可以根據(jù)程序的運行情況確定要分配的堆內(nèi)存的大小
b)存放在棧中時要管存儲順序,保持著先進后出的原則,他是一片連續(xù)的內(nèi)存域,有系統(tǒng)自動分配和維護。而堆是無序的,他是一片不連續(xù)的內(nèi)存域,有用戶自己來控制和釋放,如果用戶自己不釋放的話,當(dāng)內(nèi)存達到一定的特定值時,通過垃圾回收器(GC)來回收。
棧中保存了代碼的執(zhí)行步驟,先進先出,每次使用要從棧頂取走,使用后立即回收空間,棧內(nèi)存不需要管理,不收GC管理
堆存放了各種對象的信息,不會在使用結(jié)束后被立刻回收,堆內(nèi)存需要GC管理
 
8.   [易]有手動寫過gc嗎,說一下gc是怎么調(diào)用的

沒有,根據(jù)上次調(diào)用時處理的內(nèi)存占用決定
 
9.   [易]使用對象池的壞處

占用內(nèi)存
 
10.  [易]說一下項目中的UI優(yōu)化,批處理有哪兩種,動態(tài)和靜態(tài)分別怎么實現(xiàn)

精靈打包和圖集,UI布局進行動靜分離,將動態(tài)變化中的UI組件單獨分配到一個Canvas中
 
 
11.  [易]手寫冒泡

        static void Sort(int[] arr)
        {
            for (int i = 0; i < arr.Length-1; i++)
            {
                for (int j = 0; j < arr.Length-1-i; j++)
                {
                    if (arr[j]>arr[j+1])
                    {
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
        }
 
 
12.  [易]使用熟悉的一種排序算法,編寫代碼實現(xiàn)方法,Sort(int[])對一個一維數(shù)組進行排序

        static void Sort(int[] arr)
        {
            for (int i = 0; i < arr.Length-1; i++)
            {
                for (int j = 0; j < arr.Length-1-i; j++)
                {
                    if (arr[j]>arr[j+1])
                    {
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
        }
 
 
13.  [易]編寫一個函數(shù),當(dāng)已知一個三角形三邊長a,b,c,求其對應(yīng)的三個夾角

利用余弦定理
cosA=(b^2+c^2-a^2)/2bc
角A = Math.Acos(cosA)*180/Math.PI
cosB=(c^2+a^2-b^2)/2ca
角B = Math.Acos(cosB)*180/Math.PI
     cosC=(a^2+b^2-c^2)/2ab
角C = Math.Acos(cosC)*180/Math.PI
 
 
14.  [易]編寫一個函數(shù),輸入指定長度,輸出包含數(shù)字,大寫字母,小寫字母的隨機字符串(字符串包含的內(nèi)容可選,即可以選擇是否包含數(shù)字,大寫字母,小寫字母,且可以選擇內(nèi)容是否可以重復(fù))

        //隨機產(chǎn)生一個范圍內(nèi)的字符
        static char GetChar(char start,char end)
        {
            Random random = new Random();
            return (char)random.Next(start,end);
        }
        ///
        /// 隨機插入集合列表中
        ///

        ///
        ///
        ///
        ///
        static void Insert(List list,int index,char item,bool repeat)
        {
            if (repeat)
            {
                list.Insert(index, item);
            }
            else
            {
                if (!list.Contains( item))
                {
                    list.Insert(index, item);
                }
            }
        }
        ///
        /// 生成目標(biāo)字符串
        ///

        ///字符串長度
        ///是否包含數(shù)字
        ///是否包含大寫字母
        ///是否包含小寫字母
        ///
        ///
        static string Test01(int len, bool isContainNumber, bool isContainUpperLetter, bool IsContainLowerLetter,bool isRepeat)
        {
            List charList = new List();
            Random random = new Random();
            if (isContainNumber)
            {
                charList.Add(GetChar('0', '9'));
            }
            if (isContainUpperLetter)
            {
                Insert(charList, random.Next(0, charList.Count), GetChar('A', 'Z'), isRepeat);
            }
            if (IsContainLowerLetter)
            {
                Insert(charList, random.Next(0, charList.Count), GetChar('a', 'z'), isRepeat);
            }
           
            while (charList.Count< len)
            {
                int index = random.Next(0,charList.Count);
                char tempChar = (char)random.Next('0', 'z');
                if (char.IsNumber(tempChar) == isContainNumber && isContainNumber)
                {
                    Insert(charList, index, tempChar, isRepeat);
                }
                else if (char.IsLower(tempChar) == isContainNumber && isContainNumber)
                {
                    Insert(charList, index, tempChar, isRepeat);
                }
                else if (char.IsUpper(tempChar) == isContainNumber && isContainNumber)
                {
                    Insert(charList, index, tempChar, isRepeat);
                }
            }
            return  new string(charList.ToArray());
        }
 
15.  [易]ref和out的區(qū)別

a)使用ref型參數(shù)時,傳入的參數(shù)必須先被初始化。對out而言,必須在方法中對其完成初始化。
b)使用ref和out時,在方法的參數(shù)和執(zhí)行方法時,都要加Ref或Out關(guān)鍵字。以滿足匹配。
c)out適合用在需要retrun多個返回值的地方,而ref則用在需要被調(diào)用的方法修改調(diào)用者的引用的時候。
 
16.  [易]閱讀以下程序,程序輸出的是什么?
public class A{
private int m_a;
public A(int _a){m_a = _a;}
public virtual int GetA(){
    return m_a;
}
public int GetAA(){
    return m_a;
}
}
public class B:A{
private int m_a;
public B(int _a) : base(_a){m_a = _a – 1;}
public override int GetA(){
    return m_a;
}
}
var b = new B(12);var a = b as A;
Console.WriteLine(*GetA = {0},GetA = {1}*,b.GetA(),a,GetA());
 

GetA = 11,GetA = 11
 
17.  [難]游戲背景:有一個英雄,生活在布滿農(nóng)田,洞穴的世界中,他為了生存不斷地采摘,打獵
世界元素:三種點:家(唯一),農(nóng)田(若干),洞穴(若干),數(shù)據(jù)由pointList定義,一個角色(初始位置在家)
 


 
18.  [易]寫出MonoBehaviour生命周期,系統(tǒng)函數(shù)執(zhí)行順序

Awake--OnEnable--Start--FixedUpdate--Update--LateUpdate--OnGUI--OnDisable---OnDestroy--OnApplication
 
 
19.  [易]Unity3d動態(tài)加載資源的方式有哪些,有什么區(qū)別

 1.通過Resources模塊,調(diào)用它的load函數(shù):可以直接load并返回某個類型的Object,前提是要把這個資源放在Resource命名的文件夾下,Unity不關(guān)有沒有場景引用,都會將其全部打入到安裝包中。
2.通過bundle的形式:即將資源打成 asset bundle 放在服務(wù)器或本地磁盤,然后使用WWW模塊get 下來,然后從這個bundle中l(wèi)oad某個object。
3.通過AssetDatabase.loadasset :這種方式只在editor范圍內(nèi)有效,游戲運行時沒有這個函數(shù),它通常是在開發(fā)中調(diào)試用的
 
20.  [易]Unity協(xié)程的用途以及線程的區(qū)別

協(xié)同程序(coroutine)與多線程情況下的線程比較類似:有自己的堆棧,自己的局部變量,有自己的指令指針(IP,instruction pointer),但與其它協(xié)同程序共享全局變量等很多信息。
 
協(xié)程(協(xié)同程序): 同一時間只能執(zhí)行某個協(xié)程。開辟多個協(xié)程開銷不大。協(xié)程適合對某任務(wù)進行分時處理。
線程: 同一時間可以同時執(zhí)行多個線程。開辟多條線程開銷很大。線程適合多任務(wù)同時處理。
 
1.協(xié)程,即協(xié)作式程序,其思想是,一系列互相依賴的協(xié)程間依次使用CPU,每次只有一個協(xié)程工作,而其他協(xié)程處于休眠狀態(tài)。協(xié)程實際上是在一個線程中,只不過每個協(xié)程對CUP進行分時,協(xié)程可以訪問和使用unity的所有方法和component
2.線程,多線程是阻塞式的,每個IO都必須開啟一個新的線程,但是對于多CPU的系統(tǒng)應(yīng)該使用thread,尤其是有大量數(shù)據(jù)運算的時刻,但是IO密集型就不適合;而且thread中不能操作unity的很多方法和component
 
線程和協(xié)同程序的主要不同在于:在多處理器情況下,從概念上來講多線程程序同時運行多個線程;而協(xié)同程序是通過協(xié)作來完成,在任一指定時刻只有一個協(xié)同程序在運行,并且這個正在運行的協(xié)同程序只在必要時才會被掛起。
 
在主線程運行的同時開啟另一段邏輯處理,來協(xié)助當(dāng)前程序的執(zhí)行,協(xié)程很像多線程,但是不是多線程,Unity的協(xié)程實在每幀結(jié)束之后去檢測yield的條件是否滿足。
 
21.  [易]寫出Lua中ipairs,pairs的區(qū)別

pairs可以遍歷表中所有的key,并且除了迭代器本身以及遍歷表本身還可以返回nil;
ipairs則不能返回nil,只能返回數(shù)字0,如果遇到nil則退出。它只能遍歷到表中出現(xiàn)的第一個不是整數(shù)的key
 

国产高清网站_亚洲一区二区综合_成人久久18免费网站_国产成人久久精品激情

    <sup id="ys8cw"><kbd id="ys8cw"></kbd></sup>

    <sup id="ys8cw"><font id="ys8cw"><output id="ys8cw"></output></font></sup>

    欧美日韩一区不卡| 亚洲男同性视频| 国产精品婷婷午夜在线观看| 欧美高清在线视频| 一区二区激情视频| 日本女优在线视频一区二区| 国产麻豆精品一区二区| 北条麻妃国产九九精品视频| 欧美在线观看一区| 欧美成人一区二区三区在线观看| 国产日产欧美一区二区三区| 一区二区三区精品| 看片的网站亚洲| av不卡在线观看| 欧美一三区三区四区免费在线看| 久久九九久精品国产免费直播| 亚洲美女在线国产| 久久国产免费看| 色综合网站在线| 精品国产乱码久久久久久免费| 17c精品麻豆一区二区免费| 日韩成人av影视| 成人白浆超碰人人人人| 欧美精品自拍偷拍动漫精品| 中文一区一区三区高中清不卡| 亚洲成人综合在线| 国产精品99久久久久久似苏梦涵 | 欧美精品一二三| 日本一区二区三区高清不卡| 亚洲高清免费一级二级三级| 国产麻豆午夜三级精品| 欧美日韩久久一区| 亚洲国产精品国自产拍av| 日日夜夜免费精品视频| 成人av综合一区| 日韩欧美的一区二区| 亚洲黄色av一区| 国产成人精品免费网站| 91麻豆精品国产无毒不卡在线观看| 中文字幕在线播放不卡一区| 久久99国产精品麻豆| 欧美日韩一区二区电影| 18欧美乱大交hd1984| 国产呦精品一区二区三区网站| 欧美日韩国产免费| 亚洲视频一二三| 国产精品伊人色| 69久久夜色精品国产69蝌蚪网| 亚洲人成网站影音先锋播放| 国产成人在线视频网址| 欧美一区二区三区性视频| 亚洲精选免费视频| 成人国产在线观看| 国产亚洲一本大道中文在线| 麻豆国产精品官网| 欧美三级三级三级| 伊人婷婷欧美激情| 99re视频这里只有精品| 久久你懂得1024| 精品一区二区国语对白| 欧美一区二区三区在线| 亚洲成人激情社区| 在线看国产日韩| 亚洲人成精品久久久久| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | www.日韩大片| 日本一区二区三区国色天香| 国产一区二区在线看| 日韩免费在线观看| 蜜桃av一区二区在线观看| 欧美二区在线观看| 日日摸夜夜添夜夜添亚洲女人| 精品视频1区2区| 午夜欧美大尺度福利影院在线看| 欧美自拍丝袜亚洲| 亚洲国产中文字幕在线视频综合| 欧美在线不卡视频| 夜夜精品视频一区二区| 在线观看日产精品| 亚洲第一二三四区| 欧美精选在线播放| 日本人妖一区二区| 欧美成人福利视频| 久久99精品久久久久久国产越南 | 国模一区二区三区白浆| 精品国偷自产国产一区| 国产精品一区免费视频| 国产日产欧美一区| 97se亚洲国产综合自在线| 国产精品久久夜| 色狠狠综合天天综合综合| 亚洲一区免费在线观看| 欧美精品v国产精品v日韩精品| 丝瓜av网站精品一区二区| 日韩一区二区免费在线观看| 国内精品嫩模私拍在线| 国产精品乱码一区二区三区软件| 99re热视频这里只精品| 亚洲一区二区黄色| 日韩三级精品电影久久久| 国内国产精品久久| 亚洲欧美在线高清| 欧洲亚洲精品在线| 天天综合天天做天天综合| 精品久久久影院| 高清不卡在线观看av| 亚洲精品久久久蜜桃| 欧美精品 国产精品| 国产在线一区观看| 中文字幕一区二区三区乱码在线| 色哦色哦哦色天天综合| 免费成人在线网站| 国产精品久久久久永久免费观看| 91国产精品成人| 老司机精品视频线观看86| 日本一区二区三级电影在线观看| 色综合夜色一区| 日韩av电影一区| 国产精品日韩精品欧美在线| 欧美日韩色综合| 国产在线精品一区在线观看麻豆| 18涩涩午夜精品.www| 欧美一区二区三区免费| 国产成人av一区二区三区在线观看| 一区二区三区在线视频播放| 欧美不卡在线视频| 日本韩国一区二区三区视频| 黑人精品欧美一区二区蜜桃 | 91丨九色丨蝌蚪富婆spa| 麻豆久久久久久久| 亚洲日本乱码在线观看| 日韩三级电影网址| 色噜噜狠狠成人中文综合 | 国产婷婷色一区二区三区 | 日韩二区三区四区| 国产精品成人网| 欧美一区二区黄色| 色婷婷av一区二区| 国产成人免费视频网站| 亚洲大片精品永久免费| 欧美国产精品一区二区| 欧美一区二视频| 日本高清不卡aⅴ免费网站| 国产黄色91视频| 美女看a上一区| 亚洲午夜羞羞片| 国产精品夫妻自拍| 久久色在线观看| 欧美写真视频网站| av网站免费线看精品| 国产一区二区三区最好精华液| 婷婷成人综合网| 亚洲激情第一区| 国产精品网站在线| 久久亚洲欧美国产精品乐播| 欧美精品在线一区二区三区| 一本大道综合伊人精品热热| 成人免费视频一区| 国产一区高清在线| 麻豆久久一区二区| 日本午夜一本久久久综合| 艳妇臀荡乳欲伦亚洲一区| 国产精品精品国产色婷婷| 国产午夜三级一区二区三| 日韩久久久精品| 91精品久久久久久蜜臀| 欧美性色欧美a在线播放| 色综合久久天天| 99re在线精品| 99精品国产视频| 成人av电影免费观看| 国产成人av福利| 国产白丝精品91爽爽久久| 国产精品一区二区三区乱码| 精品一区二区三区在线播放 | 在线综合亚洲欧美在线视频| 欧美日韩一区二区在线观看视频 | 亚洲综合久久av| 亚洲欧美激情视频在线观看一区二区三区 | 国产精品毛片久久久久久久| 国产亚洲欧美激情| 国产亚洲一区字幕| 久久天堂av综合合色蜜桃网| 精品久久久三级丝袜| 精品粉嫩aⅴ一区二区三区四区| 日韩欧美在线观看一区二区三区| 日韩欧美中文一区| 欧美成人三级在线| 精品国精品国产| 久久女同互慰一区二区三区| 国产人伦精品一区二区| 欧美高清在线视频| 亚洲视频免费在线观看| 亚洲人成在线观看一区二区| 一区二区三区精品视频在线| 亚洲国产综合91精品麻豆| 天天操天天色综合| 久久99精品国产.久久久久| 国产九色精品成人porny| 成人手机在线视频|