1. 程式人生 > >unity 接觸一個月的感受和心得

unity 接觸一個月的感受和心得

下載地址 有趣 完成 對象 實例 裁剪 知識 界面 一次

unity scrollview 遇到的問題

一個scrollview作為翻頁,這樣的效果調整。

一頁上面有三個scrollview,這三個scrollview上的items不受下層整個頁面的scrollview的裁剪,導致滾動的時候,上層items會從頁面外面飛入。這個問題我還沒有解決,這個問題只有第二次以及以後打開界面才會出現,第一次打開不會出現,

所以我斷定是我在第一次關閉界面的時候有些內容沒有釋放導致的。

現在采用迂回戰術,關閉的時候不關閉,而是隱藏,這樣就不會出現這個問題了。

但是根本原因,後續有空再研究。

2.我翻頁使用scroll,反復的調整參數,都不能達到好的效果。

後來改為Spring.Panel.Begin(xxx),效果完美。

3.childcenter要謹慎使用,一般一次顯示一格的才使用,一次可以顯示多格的不要隨便加,不然容易出問題。

4.今天替換美術拿過來的資源,居然和策劃文檔的功能都不一樣。憂傷,還增加了功能。

關鍵是遇見一個大坑。大概是上午的時候,開始學習合成atlas圖集,旁邊的同事教我用ngui->open->atlas maker 制作了圖集,在我的電腦商運行完美。提交到svn,再被其他同事update之後,圖集不能夠顯示。

這個坑真的是大坑,關鍵是我沒有unity和圖集相關的基礎,導致我遇見問題的時候不知所措,找人解決也不知道是什麽問題,後來大概7點多的時候,組長說是圖集的問題。讓用TexturePacker重新生成一份,我本地安裝這個工具卻出現dll找不到的錯誤,於是放棄,先讓其他人生成給我用吧,解決問題先。。。

可是給我之後還是不能用。

後來就不知道什麽原因了,大概8點多,客戶端的人都走完了,留我一個人在這裏。今天是大周星期五。我下決心一定要解決的突然我發現我電腦有安裝TexturePacker,然後我自己生成了之後就可以了。 其他電腦也可以了。。。 其中還嘗試了其他方法,看是不是其他問題,這些過程相當的有趣,所以找bug定位精準太重要了。。。這一點我在python上感覺到了優勢。我在前公司的時候,組內大都是一年兩年的新人,我是三年的老人,我看過《python源碼剖析》,他們沒看過。他們提出的python問題我基本都能夠解答,並且那段時間給他們普及了很多python知識。

所以,理解原理真的是太重要了。

公司用的unity是版本是5.4.4.f1,ngui版本是3.10.1

visual studio:vs2015

vstounity:關聯vs到unity 使得vs可以調試unity程序。

ngui3.10.1的下載地址

http://download.csdn.net/download/wxk_1054433720/9637687

先刪掉原來工程目錄下的ngui文件夾再import

紋理圖片導入到unity中大小變小了,原來是被unity壓縮了,選中紋理圖片在Inspector中操作,2DSprite,然後勾選Generate mip maps,這樣紋理就不能夠被壓縮了。

制作的界面和效果圖不一樣,前期是眼睛對著看,浪費了大量寶貴時間,現在改為放一張圖片在下面,然後調整坐標。

美術給的資源都說按照效果圖來,差評,理科生對這種不敏感,建議實際的坐標值,顏色值,文字大小數字標出來。

UIHelper.SetTexture,不用每個地方都去實現一下。

慎用居中插件,center inchild,各種惡心,還有各種毛病。

不能夠用texture在unity編輯器中,打包回出現問題。

速度一定要快,給一個任務一定要按時完成,這就是效率。

什麽地方可以快速熟悉unity編輯器的各種功能?

預制體的類.gameobject 報錯:要實例化的對象為null。

這個原因是:

1.預制體的類是否名字和預制體一樣;

2.如果一樣,再看文件夾下面是否有對應的預制體,因為在unity編輯器中的Hierarchy中有的是在unity編輯器的內存中的,並不代表存在於電腦的硬盤中,所以,檢查文件夾,如果沒有就將預制體拖入文件夾中。

第二個任務是商城系統,簡單說就是購買東西的一個界面,有n個標簽,根據標簽加載對應的物品,

當然是根據選擇不同的標簽,向服務器發送對應的標簽數據,服務器返回對應的數據列表,

我拿到這些數據id之後,根據當前選中標簽,或者是服務器發過來的itemtype,進行相應的設置,顯示不同的內容。將需要顯示的物品顯示在一個scrollview中即可。

這就是顯示部分。

另外一部分是對這些物品進行操作。

比如說我要查看物品的詳情,或者說是購買物品。

物品顯示分為物品的區域範圍,這個範圍點擊是可以查看詳情的,在詳情裏面可能會有購買的操作,或者是其他的操作。

另外物品區域的下方還有一個顯示價格的按鈕,點擊可進行購買。

這種點擊操作基本都是向服務器發送請求得到數據,或者根據id去讀取本地的表中的數據用於顯示。

這裏的id是怎麽得到的呢?我怎麽知道我點擊的是那個按鈕呢?對應的id是多少呢?

我的做法是對於每一個物品,我在設置顯示信息的時候同事對象保存了他的id,點擊的時候在響應函數裏面獲取本對象的mId就可以知道點擊的是哪一個物品。

然後拿到這個id之後,我就可以獲取到需要顯示的數據了。

還有一個問題是一個頁面如何多重使用呢?即頁面復用的問題,我的做法是:

如果是可以根據頁面標簽來進行分類的,那麽 以頁面標簽進行分類,進行顯示不同的內容。

如果不能通過頁面標簽來進行分類的,我就通過服務器發過來的id去對應的表裏面找type,找到對應類型,然後根據類型來確定具體應該顯示什麽內容。

這樣就能夠很好的處理顯示的內容了。

另外,這個商城系統裏面還有一個抽獎的內容,這個浪費了我挺多時間的,大概一天半吧,現在還沒有做完整。

明天繼續去加班,把事情做完,自己測試幾遍,現在這個公司程序員不僅僅要寫代碼,還要把美術給的界面資源拼接成效果圖,這個過程極其惡心,然後還要負責測試。這個也是我覺得不爽的地方。十分懷念原來那種,不需要管界面,策劃做好,我只需要寫代碼,寫好功能之後直接丟給策劃,策劃安排測試人員一路跟著測bug,然後修bug,然後再測,直到沒有bug,那種生活太奢侈了。

不過現在更能夠鍛煉人,仔細想一想,遊戲開發,過來過去不就是那幾個系統麽?至少通用的系統在每個遊戲裏面都要用到的,所以把這些模塊做得滾瓜爛熟之後,我想以後開發效率就會高了吧,嗯嗯,加油吧。新進入一行一定會有一個陣痛期的。

做遊戲就是要速度快,給一個任務,很快就做完了,然後代碼質量也高,bug也少,那就是非常優秀的程序員了。現在我還要向這個方向努力??。

unity 接觸一個月的感受和心得