NGUI官網樣本9 – QuestLog(可展開元件)

來源:互聯網
上載者:User

NGUI官網樣本9 – QuestLog
這個樣本展示的是可伸縮的介面,點擊沒一個Quest,可以把裡面的內容展開。:

描述:請輸入描述

圖片:1.png

首先先製作出基本的介面,這裡就不再贅述(可以參考我上面的系列教程),在這裡提一下,在製作背景時,可以使用Create a Widget建立出一個SimpleTexture,貼上合適的材質之後,不要縮放和移動它,為它添加一個Stretch組件(Component->NGUI->UI -> Stretch),該組件可以根據視窗的大小自動調整尺寸。注意該層級結構,最終效果

描述:請輸入描述

圖片:2.png

接下來就是這個樣本的重頭戲了。選擇Quest Log,並為其建立一個新的Panel(NGUI->Create a panel),並命名為SubPanel,

描述:請輸入描述

圖片:3.png

選擇SubPanel,建立一個空的遊戲對象,作為它的子物體,並命名為Table。該對象將來用於排列它的所有子物件的位置,現在暫時不管。

描述:請輸入描述

圖片:4.png

選擇Table對象,建立一個空的遊戲對象,作為它的子物體,並命名為Quest1,reset一下。

描述:請輸入描述

圖片:5.png

選擇Quest1,為其添加一個Lable和一個SlicedSprite,最終效果

描述:請輸入描述

圖片:6.png

選擇Quest1,建立一個空的遊戲對象,並命名為Tween,成為它的子物件,reset一下,並在Tween下建立一個Label,並輸入文字描述,最終效果

描述:請輸入描述

圖片:7.png

首先先把Tween對象的Enable關掉,再使用同樣的方式再製作出三個這樣的Quest出來,我這裡偷懶,直接使用Ctrl+D複製出2個來,並命名為Quest2和Quest3。不用去管它的位置,

描述:請輸入描述

圖片:8.png

選擇Table對象,為其添加一個Table組件(Component->NGUI->Interaction->Table),並設定Colomn參數為1,Direction為Down,Padding的Y為4,Sorted、Hide Inactive和Keep Within Panel勾選上,點擊播放之後,其子物體就會自動地排列了,神奇!(大家從英文上應該能看出這些參數的意思吧,這裡不贅述了)。

描述:請輸入描述

圖片:9.png

接下來實現點擊這些Quest時,會自動延伸其下面的說明。選擇Quest1下面的Tween對象,為其添加一個TweenScale組件(Component->NGUI->Tween->Scale),並設定其參數

描述:請輸入描述

圖片:10.png

選擇Quest1下面的SlicedSprite,為其添加一個Trigger組件(NGUI->Attach a collider)用來接收輸入事件,接著為其添加一個Button Tween組件(Component-> NGUI->Interaction->Button Tween)這個組件很熟悉吧,對其他的幾個Quest進行類似的操作,點擊播放,滑鼠放在Quest上點擊,ok,實現了!其參數如下

描述:請輸入描述

圖片:11.png

如果你三個Quest同時展開,會發現,此時內容都漏出來了,呵呵,霸氣外漏!我們來解決這個問題。選擇SubPanel,設定其Panel組件中的Clipping為SoftClip,並設定它的size中x為420,Y為290,softness為X為1,Y為8,然後點擊再播放,哈,內容在這個設定的範圍內了。

描述:請輸入描述

圖片:12.png

問題又來了,我想看下面的內容呢。那麼我們可以給他添加一個ScrollBar捲軸。在Quest Log下建立一個垂直ScrollBar元件,我們現在想當內容超出panel時scollBar才顯示出來,我們設定其Alpha為0,最後參數

描述:請輸入描述

圖片:13.png

現在來串連SubPanel和ScrollBar。選擇SubPanel,為其添加一個DraggablePanel組件(Component-> NGUI->Interaction->DraggablePanel)。然後把ScrollBar對象賦值給VerticalScrollBar,

描述:請輸入描述

圖片:14.png


OK,其拖動功能就搞定了!

這個樣本當中還有一個拖動視窗的效果,這裡效果在以前的教程中已經講過。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.