泰斗破壞神筆記


泰斗破壞神筆記

2016427日星期三001-開始素材的制作

1制作圖集

1.1在要制造成圖集的素材上點右鍵NGUI-Open altas Maker-

2制作背景

2.1選擇simple texture

2.2Anchors選擇unified,上下左右都選擇0,這樣的話代表距離屏幕邊界一直為0,無論屏幕怎么變化

3制作按鈕

3.1添加sprite

3.2sprite上添加attach 一個box Collier

3.3繼續attach 一個button script

3.4UI button 組件下可以設置四種狀態的圖片

3.5繼續attach一個play sound組件,可以設置點擊時的聲音

3.6添加一個label顯示文字

3.7繼續在按鈕上增加一個uibutton組件 ,這樣可以把label拖進組件的tween target,可以使label也隨着變化

2016428日星期四 002-登陸界面的創建

 

1制作父節點

1.1可以添加一個invisible widget作為父節點,把上一節做的按鈕圖標什么全放進去.

2Widgetdepth屬性可以確定可見度

3制作好的NGUI組件可以拖入prefertool里重復利用

4可以為容器添加動畫

4.1Tween-scale縮放的動畫

2016429日星期五003-注冊界面的創建

沒啥好記的

201659日星期一006-控制用戶登錄和注冊界面的跳轉

1.動畫控制中最好直接把Tween組件禁用掉,直接通過代碼控制tween.play();可以控制往前播放或者往后播放

2.按鈕的點擊動作在UI Button組件里的onclick下,在notify中選擇一個附帶有代碼文件的GameObject,然后再method中就可以選擇方法了。

2016514日星期六 007制作服務器選擇界面

1本次的重點內容使scroll view的制作

1.1UI Scroll View組件用來制作可以拖動的視圖

1.2UI Scroll View的重要屬性

1.2.1Clipping剪輯模式,這里主要選擇SoftClip模式(柔和剪輯模式),在這種模式下,Panel會剪輯一塊可視區域出來顯示,這個被剪輯出來的區域以外的部分將會被剪輯掉而無法顯示出來.

i.SoftNess屬性為剪輯邊緣的柔和程度

1.2.2Movement 滾動方向.Horizontal左右,Vertical上下,Unrestricted自由拖動

1.2.3DragEffect 拖動效果.

i.None無效果

ii.Momentum 帶動能的拖動,也就是拖動有一個慣性

iii.MomentumAndSpring 帶動能與彈性的拖動,就是到底部會彈回來

1.3UI Scroll View的注意事項

1.3.1滾動視圖內包含的內容,一定要有一個BoxCollider,否則無法接受事件.

1.3.2滾動視圖內包含的內容一定要有一個DragScrollView組件,這個組件會和ScrollView相互作用,在運行時,他會自動去找到父物體的Scroll View,然后和他相互作用,讓視圖內的內容滾動起來.

2Grid的使用

2.1Grid用來自動排列UI,經常和Scroll View配套使用

2.2Grid介紹

2.2.1Arrangement網格的排列方向

2.2.2Cellwidth網格的寬度

2.2.3Cellheight網格的高度

2.2.4Columnlimit網格列數限制,2表示最多2

2.2.5Pivot,錨點.這個一般填左上角,然后Grid里的內容錨點也是左上角.

2.3設置Grid位置時先不要往里面拖動東西,先定好位在拖.

2016516日星期一 008服務器列表的初始化

1.     

  1.     NGUITools.AddChild(ServerUiGrid.gameObject, sbp.gameObject);
 

grid添加子元素時需用到這個方法.

 

2.       

  1.  public string ServerName
  2.     {
  3.         get {returnServerName;}
  4.         set{GetComponentInChildren<UILabel>().text = value;}
  5. }
 

這個方法用來設置名稱后自動修改label的顏色;

3.當你設置了父元素的TweenScale動畫后,如果你選擇不自動播放, start里添加的東西會保持scale0,你就會看不見他.這句話理解一下.

(重要)2016517日星期二 -009處理服務器的選擇

今天調試中解決了一個大的問題.

首先我沒有按照視頻中的方法.我把點擊事件的方法做到了按鈕上,然后通過方法來獲取按鈕的ServerBtnProperty的屬性,然后給serverManger中的selectserver(代表界面上選擇的那個服務器圖標,選中哪一個服務器后,這個圖標會變成剛才按下的服務器按鈕的樣子,)賦值.

剛開始我是這樣做的:

  1.         ServerBtnProperty sbp;
  2.         for(var i =0; i < servernum; i++)
  3.         {
  4.             var randomnum =Random.Range(0,100);
  5.  
  6.             sbp = randomnum >50?Redserver:Greenserver;
  7.             sbp.ServerIP="127.0.0.1";
  8.             sbp.ServerName="第"+ i +"個服務器";
  9.             sbp.ServerPerNum= randomnum;
  10.             sbp.sm =this;
  11.             ServersList.Add(sbp);
  12.             NGUITools.AddChild(ServerUiGrid.gameObject, sbp.gameObject);
  13.  
 

ServerBtnProperty,ip,num都是字段,servername為屬性.

  1.     public string ServerIP{ get;set;}
  2.     publicServerManger sm;
  3.     public string ServerName
  4.     {
  5.         get {return _servernameeee;}
  6.         set
  7.         {
  8.             _servernameeee = value;
  9.             GetComponentInChildren<UILabel>().text = value;
  10.          
  11.         }
  12.     }
  13.     private  string _servernameeee;
  14.     publicintServerPerNum;
 

 

如果運行上面的程序你會發現.添加到grid的下的按鈕ipnum正常,但是他的name卻變成了null.servernameeee改為public,一切正常

查閱資料發現NGUITools.AddChild調用了instantiate方法, instantiate會把屬性重置,所以之前修改的屬性在調用方法后都會消失,問題找到就很好解決,

 

 

  1.         ServerBtnProperty sbp;
  2.         for(var i =0; i < servernum; i++)
  3.         {
  4.             var randomnum =Random.Range(0,100);
  5.             sbp = randomnum >50?Redserver:Greenserver;
  6.             GameObject go=NGUITools.AddChild(ServerUiGrid.gameObject, sbp.gameObject);
  7.             ServerBtnProperty sbp2 = go.GetComponent<ServerBtnProperty>();
  8.             sbp2.ServerIP="127.0.0.1";
  9.             sbp2.ServerName="第"+ i +"個服務器";
  10.             sbp2.ServerPerNum= randomnum;
  11.             sbp2.sm =this;
  12.         ServersList.Add(sbp);
 

 

先實例化后在賦值屬性.

總結.實例化過程中屬性會重置,而字段不會!

 

 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM