欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

總結(jié)Unity初學者容易犯的編譯與運行時錯誤(第二部分)-創(chuàng)新互聯(lián)

        本人在做線上與線下Unity教學中,經(jīng)常遇到一些常見的疑問,為了更好的快速進行答復,我平時注意收集了一些典型
的錯誤與疑問,且附有個人解答,供大家交流之用。不足之處,請大家指明。
   如果后期總結(jié)的易錯誤點,量比較大時我會進行分類處理,更加方便大家查詢。

成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為梁平企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)梁平網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

1: Ngui 和 UGUI 用法是一樣的么?現(xiàn)在游戲公司還在用NGUI 還是用Unity內(nèi)置的UI系統(tǒng)?

答: 如果你是Unity學習者,建議你NGUI/uGUI都學習,因為目前舊項目一般都用NGUI, 現(xiàn)在立項的公司很多考慮用uGUI ,畢竟第1是官方技術(shù)且是開源的技術(shù),而是后繼會不斷發(fā)展,有潛力。

2: unity3d的 Terrain上無法烘焙樹木的陰影,該如何解決?

答:Detail meshes 本身不參與烘焙過程,但是其會對地形的lightmap進行采樣。所以,需要對原生的lightmap進行修改,添加陰影。

3: uGUI 中 slider和scorllbar這么相似,分別用在那些地方啊?

答:解釋如下: Slider 控件適合做項目中的“音量調(diào)節(jié)”、“生命數(shù)值”顯示等方面,注重數(shù)值展示方面。ScrollBar 控件一般不建議單獨使用,屬于“基礎(chǔ)性”控件,適合與其他控件組合成功能更加強大的“復合控件”,例如我在視頻中講解的“ScrollRect”控件。(作為用戶選擇部分)

4: unity做個項目,安裝在手機上運行一會卡死,都不知道從哪里入手找bug,求各位大神幫忙。。。

答:你自己開發(fā)一個移動設(shè)備上的找Bug的機制: 如下操作: 第1: 使用Application.persistentDataPath 作為保存數(shù)據(jù)的路徑。 自己寫一個調(diào)試類 (例如: Debuger.cs) 第2:把需要在程序中切入的調(diào)試代碼,最終寫入txt 文件(或者XML文件) 第3: 在手機死機后,沒有關(guān)系。重新進入后,進入自己開發(fā)的一個專門顯示txt 或者XML 中內(nèi)容的頁面,查看程序運行到哪里,最終找到原因。
這種機制原理,適用于所有的移動平臺的調(diào)試。

5 this.gameObject.transform.position= new Vector3(1F, 2F, 3F); 老師,gameObject和transform,position都是屬性,他們之間怎么能引用呢,不是應(yīng)該通過對象和類來引用的嗎?

答:transform 是GameObject 的屬性。 而GameObject是不能直接應(yīng)用 transform 的,沒有這個靜態(tài)屬性。(Unity規(guī)定)。 所以我們通過this.gameObject. 。 獲得這個腳本所在對象(返回GameObject).然后再獲取transform。

6: uGUI 中 老師,我怎么拉不動那中心點,總是拉著整個button或text?

答:你拉不動那個中心點,原因是Unity快捷欄中的“Center”在起作用,它保證中線點就一直在控件的中心位置。 所以請把“Center”點擊改為“Pivot”就可以移動控件中心點了。

7: C# 有高內(nèi)聚低耦合的概念嗎?

 答:"高內(nèi)聚低耦合"是開發(fā)中的一個重要設(shè)計與開發(fā)原則,C#作為國際上最流行的開發(fā)語言之一,當然具備。 本質(zhì)上其實與語言無關(guān),這是一種開發(fā)的宗旨、思想。

8: unity5 可以使用visualstudio 開發(fā)代碼,哪可以使用Eclipse開發(fā)嗎?

答:目前Unity 不支持Eclipse 作為代碼編輯器插件開發(fā)項目。

9: 數(shù)組定義好長度之后,想要改變長度怎么辦?

答:數(shù)組的特點就是,一點定義了長度,就不能更改。如果你要用可變長數(shù)組,就學習“Unity編程基礎(chǔ)篇”,里面講解了ArrayList集合。它的長度是可變的集合。其本質(zhì)內(nèi)部實現(xiàn)也是用數(shù)組,進行多個數(shù)組相互倒換實現(xiàn)的。

10: 旋轉(zhuǎn)的局部坐標系與世界坐標系的區(qū)別是什么?

答:局部坐標旋轉(zhuǎn)是指以父物體為參考,進行旋轉(zhuǎn)。而世界坐標系以“坐標陀螺”來進行旋轉(zhuǎn)。類似的情況例如:東、南、西、北、是世界坐標系。而前、后、左、右是局部坐標系

11: uGUI 怎么改變Canvas的屏幕大小?

答:兩種方法:1:可以推進攝像機,如果是2D開發(fā),則把攝像機的Size 設(shè)置的更小些。 2:可以使用代碼方式對Canvas 的Scele 做縮放處理。

12: 怎樣保存游戲進度? Save 和 Load功能?

答:保存游戲的進度本質(zhì)就是數(shù)據(jù)持久化技術(shù)的應(yīng)用。例如我視頻中說的Unity提供的Playerfab 。可以把當前玩家的位置信息、狀態(tài)(分數(shù)、血量、**)等保存且持久化即可。如果是復雜的大量數(shù)據(jù)保存,建議用XML作對象與XML的串行化。具體可以看看我下月發(fā)行的《Unity3d/2d 游戲開發(fā)零基礎(chǔ)到精通》的,“數(shù)據(jù)持久化”章節(jié)有詳細論述。

13: 請問:我想通過腳本實現(xiàn)自定義換膚,如何實現(xiàn)比較好?如何利用Sprite Pakcer打包?

答:

//動態(tài)追加控件 GameObject GoCloneObject = newGameObject("Button"); //添加精靈(外觀處理) Image p_w_picpath= GoCloneObject.AddComponent<Image>(); Button btn =GoCloneObject.AddComponent<Button>(); p_w_picpath.overrideSprite=Resources.Load("Textures/Sprites/Emoticon - Frown", typeof(Sprite))as Sprite;

以上代碼可以實現(xiàn)動態(tài)生成控件,且自定義“換膚”。UGUI 中嚴格來說,我們不需要“Sprite Pakcer打包 ”

14: 用vs2013打開創(chuàng)建的C#腳本,調(diào)試的時候顯示:無法直接啟動帶有類庫輸出類型的項目,請在此解決方案中添加一個引用庫項目的可執(zhí)行項目。將這個可執(zhí)行項目設(shè)置為啟動項目!我已經(jīng)設(shè)置了那個啟動項目,但是還是調(diào)試錯誤?

答:是這樣的。 VS只是我們寫代碼的工具,提供了類方法提示、方法高亮顯示等功能。但是腳本的運行,還是需要運行Unity的Play 按鈕的。

15: 老師我的VS 是Blend forstudio2013,在unity編輯器設(shè)置為VS打開C#腳本時,報錯打開的不是有效的項目,這該怎么辦啊

答:建議使用VS 2013(官方默認的是MonoDevelop)。你說的VS 版本可能不兼容。

16: 老師,我在unity5.0里面,想播放動畫,this.animation.play ();這樣不行~

答:API 有所更改。this.GetComponent<Animation>().Play();更多Unity5.0 內(nèi)容API更新請首先看我博客:http://liuguozhu.blog.51cto.com/9142031/1631190 &nbsp; 。

17: text.rectTransform.rect.Set(0, 0, 417, 2*(j * 52.5f + 300));為什么沒有效果呢?如果要設(shè)置text的hright屬性要怎么辦?

答:這樣定義:txt_Obj.rectTransform.sizeDelta = newVector2(200, 200);//改變寬度與高度。

18: 老師,我問一個問題,我在game視圖16:10 Portrait(10:16)的視圖下運行游戲,場景里的物體運動都是正常的但是當我把game視圖切換到free aspect的時候,場景里的運動物體就都有了“殘影”,就像是屏幕沒有刷新一樣,這個是什么問題呢,我的攝像機用的是正交模式就像是屏幕不刷新了,每一幀都停留到了屏幕上?

答:

1: 這種情況,先考慮在你角色的背后,加一個背景貼圖。

2: ngui的圖集打的不能太大。

19: 老師,Unity中“預(yù)加載”什么意思,如何實現(xiàn)?

答: “預(yù)加載”一般分為兩種情況:

第1種情況: 轉(zhuǎn)換場景的時候,我們可以使用異步場景加載的技術(shù),來實現(xiàn)。目的是給玩家一個顯示畫面,在系統(tǒng)后臺加載場景數(shù)據(jù),等加載完畢,顯示整個場景。代碼舉例如下:

   public class ScenesLoading : MonoBehaviour{

       public Slider  Sli_Progressbar;                  //調(diào)用進度條

       private AsyncOperation async;                     //異步對象

       private float curProgress;                        //當前進度

       void Start ()

       {

           StartCoroutine(loadScene());

       }

       //異步讀取場景

       IEnumerator loadScene()

       {

           //async =Application.LoadLevelAsync(ConvertNames.SceneNames[GlobalParameterManager.LoadingScenesName]);

           async =Application.LoadLevelAsync(ConvertNames.GetInstance().ScenesToName(GlobalParameterManager.LoadingScenesName));

           curProgress = async.progress;

           yield return async;

       }

       void Update()

       {

           if (curProgress <= 1)

           {

               curProgress += 0.01f;

           }

           Sli_Progressbar.value =curProgress;

       }

   }

第2種情況:

 在同一場景中實現(xiàn)“預(yù)加載”。

 如果一個場景非常龐大,勢必要進行優(yōu)化。優(yōu)化最簡單的思路可以如下:

1> 遮擋剔除。

2> LOD 層級細節(jié)。

3> “層消隱”處理

如果以上步驟還不明顯的話,可以人為的把整個大場景,劃分為幾個部分,當“角色”(主角)要進入一塊“區(qū)域”的時候,可以提前3-20秒進行場景的加載,當“角色”離開這片區(qū)域時,我們則可以銷毀這片“區(qū)域”,以節(jié)省計算機或者移動端設(shè)備的內(nèi)容空間。 這就是“預(yù)加載”技術(shù)。核心代碼如下:

       void Start()

       {

           //啟動加載大型建筑模型

          StartCoroutine("LoadBigBuilding");

       }

       //本場景進入若干秒后,啟動“預(yù)加載”大型場景

       IEnumerator LoadBigBuilding()

       {

           yield return newWaitForSeconds(intLoadTime);

           GameObjectgoBuilding_A=Resources.Load("Prefabs/Scenes_A") as GameObject;

           GameObject goCloneBuildingA =GameObject.Instantiate(goBuilding_A, Vector3.zero, Quaternion.identity) asGameObject;

       }

20: 劉老師,There are 2 audio listeners in the scene. Please ensure there is always exactly one audio listener in the scene.控制臺的消息怎么刪除,不出現(xiàn)這個

答: 這個警告信息告訴我們,場景中存在了2個“音頻監(jiān)聽器”,這是Unity不允許的。 解決方法很簡單,你只需要把其中一個攝像機的監(jiān)聽給禁止即可。例如下圖:

 總結(jié)Unity 初學者容易犯的編譯與運行時錯誤(第二部分)

21:角色控制器能不能觸發(fā)OnTriggerEnter等方法?

答:角色控制器(CharacterController)不能應(yīng)用OnTriggerEnter 等方法,如果需要檢測CC(CharacterController),需要對方通過名稱或者Tag來觸發(fā)檢測。如果需要CC給剛體施加“力”,可以用 OnControllerColliderHit() 方法實現(xiàn)。

(關(guān)于其他更多的初學者常見Unity疑問與解答,后面還會繼續(xù)總結(jié),敬請期待.)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:總結(jié)Unity初學者容易犯的編譯與運行時錯誤(第二部分)-創(chuàng)新互聯(lián)
新聞來源:http://www.chinadenli.net/article32/dccgpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站品牌網(wǎng)站設(shè)計營銷型網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈移動網(wǎng)站建設(shè)小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司