資源描述:
《unity3d技術(shù)之游戲的登陸注冊界面詳解》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Unity3D技術(shù)之游戲的登陸注冊界面詳解????首先制作背景圖片,在ngui中插入一個texture,把選好的背景圖片放入texture中,在texture組件上添加一個uistretch腳本(自適應(yīng)屏幕大?。?,把其屬性中的style調(diào)成both,如圖所示??。????如果感覺畫面失真了,點擊你Unity的圖片,把其屬性中的texturetype調(diào)成advanced,然后把generatemipmap選項后面的勾去了就好了,文章出處【狗刨學習網(wǎng)】。??????然后用ngui自帶的組件,拖上去兩個input(輸入框)組件,再拖進去兩個label組件
2、,最后再拖入兩個button組件,可以根據(jù)自己的喜歡,再加一個label當做游戲的標題,把所有添加的組件放入panel中,這樣比較好操作,效果如圖所示?下面把注冊時的界面搭建好,原理都是一樣了,最后的效果如圖???下面要寫代碼來控制所有要觸發(fā)的事件了,在我們uiroot中的攝像機上創(chuàng)建一gameSence,然后我先口述一下大概流程,隨后就貼上代碼(其實很簡單的幾句)????????在登錄界面上需要有交互功能的就兩個按鈕,一個注冊一個進入游戲,進入游戲先不管,因為這個涉及到與服務(wù)器連接的一些知識,本人小白,還沒涉及到,等涉及到的時候一定會跟大家分享一
3、下,言歸正傳,還一個按鈕就是注冊,當點擊注冊的時候,就會彈到注冊的界面中,也就是把當前的登錄界面隱藏掉,顯示出咱們得注冊界面,在咱們得注冊界面中,涉及到交互的按鈕也是兩個,一個提交,一個返回,提交按鈕涉及到用戶填寫的賬號要提交的數(shù)據(jù)庫中,并且提交成功后要返回登錄界面,咱們只做返回登錄界面的這個功能。????其實跟登錄界面跳轉(zhuǎn)到注冊界面是一個概念,還有一個返回按鈕,也是跳轉(zhuǎn)到登錄頁面。因為以后肯定要跟服務(wù)器有一個交互的過程,所以在用戶點擊進入游戲按鈕也好,還是注冊頁面中的提交按鈕也好,在與服務(wù)器通訊的過程中,要防止用戶再次操作,所以要另見一個pane
4、l,里面放入一個sprite和一個label,把sprite的透明度調(diào)成1(?。?!注意,一定不要調(diào)成0,調(diào)成0后unity就不會渲染,那咱的層級設(shè)定就沒有意義了,這也算unity的一個小bug吧),這樣就用戶就點擊不了任何組件了。當通訊完成的時候,再取消這個panel,用戶就可以再次操作了。????大概思路就是這樣,廢話不多說,貼上我的代碼,供大家參考,也希望大神挑出我的毛病,哦對了,在說一點,在建父物體的時候,我都是用的panel,我覺得應(yīng)該用gameobject,因為用panel會增大drawcall,對優(yōu)化有一定的幫助。usingUnityE
5、ngine;usingSystem.Collections;publicclassgameSence:MonoBehaviour{??//登錄場景??publicGameObjectsence1;??//注冊場景??publicGameObjectsence2;??//Loading場景??publicGameObjectsence3;??//注冊場景中賬號的輸入??publicUIInputr_name;??//注冊場景中第一次密碼的輸入??publicUIInputr_pwd;??//注冊場景中第二次密碼的輸入??publicUIInputr_
6、pwdok;??????//Usethisforinitialization??????voidStart(){????//顯示場景1????sence1.SetActive(true);????//不顯示場景2????sence2.SetActive(false);????//不顯示Loading場景????sence3.SetActive(false);??????}??????//Updateiscalledonceperframe??????voidUpdate(){??????}??//登錄場景切換到注冊場景??publicvoidcha
7、nge(){????//不顯示場景1????sence1.SetActive(false);????//顯示場景2????sence2.SetActive(true);??}??//注冊場景切換到登錄場景??publicvoidtoChange(){??????//顯示場景1????sence1.SetActive(true);????//不顯示場景2????sence2.SetActive(false);??}??//當點擊運行(go)按鈕的時候觸發(fā)的事件??publicvoidsendToServer(){????//Loading場景,防止用
8、戶誤操作????sence3.SetActive(true);????//向服務(wù)器發(fā)送數(shù)據(jù)??}??publicvoidr