NGUI官網樣本8 – Scroll View(Camera)

來源:互聯網
上載者:User

例8 – Scroll View(Camera)
在上一個樣本中的ScrollView使用到了Shader的處理,而對於一些低端的機器或者行動裝置可能會出現顯示不正常的結果,所以,NGUI還為我們準備了另外一個處理方式,也就是通過攝像機的移動來達到同樣的目的。接下來,這個樣本就是告訴大家如何?這個功能。
首先先製作一個普通的GUI介面,這些介面在上面的教程中已經說過,這裡就不再贅述,其最終效果:

圖片:1.jpg

現在來製作那些可以滾動的Item結構。使用Create  a
new UI建立一個NGUI基本結構,並調整它們的層次關係,並把UIRoot下的Panel組件刪除掉,最終:

圖片:2.jpg

建立一個新的空遊戲對象,並命名為Offset,並放置在anchor成為它的子物體,並reset一下,同時給它添加一個Panel組件(Component->NGUI->Interation->
Panel),這樣,該對象才能放置NGUI元件。:

圖片:3.jpg

同NGUI官網樣本7--
ScrollView講解(一)
(http://game.ceeger.com/forum/read.php?tid=4269)
一樣,建立1個Item元件,然後用Ctrl+D的方法複製出9個來,當然你也可以複製你需要的數量,現在這些Item都是重疊在一起的,最終效果:

圖片:4.jpg

選擇Offset,為其添加一個Table組件(Component->NGUI->Interaction
-> Table)。哈,神奇的效果在此出現,只是上一個教程使用Grid組件,這次使用的是Table,這個Table和Grid的不同,可以查下官網的說明。這裡不贅述。:

圖片:5.jpg

  
選擇第一次建立的GUI結構,選擇Window下的TiledSprite,:

圖片:6.jpg

在下面建立兩個空的遊戲對象,並分別命名為BottomRight和TopLeft,這兩個Null 物件用來標記滾動Item的邊界,並在情境編輯視窗中放置在對應的位置,最後為該TiledSprite添加一個UIDragCamera組件(Component->NGUI->Interation
-> DragCamera):

圖片:7.jpg

選擇第二個Camera,為其添加一個ViewCamera組件(Component->NGUI->UI->
ViewCamera),並把第一個攝像機賦值給SourceCamera,把TopLeft對象賦值給Top
Left,把BottomRight賦值給Bottom Right,然後選擇Offset,調整該對象的位置,:

圖片:8.jpg

為該攝像機添加一個DraggableCamera組件(Component->NGUI->Interaction->
DraggableCamera),並為其設定參數,

圖片:9.jpg

再次選擇剛才添加了兩個Null 物件的擇Window下的TiledSprite,把第二個Camera賦值給該元件中的DragCamera組件中的DraggableCamera,其結果如下

圖片:10.jpg

接著同樣選擇該TiledSprite,為其添加一個Collider,這樣,才能接受輸入資訊(NGUI->
Attach a Collider)。哈哈。真好Happy,看結果,結果一個點擊播放,成這樣了?!雖然能夠接受到輸入資訊,但是,死活拖不動

圖片:11.jpg

原來,在第二個GUI結構中的Anchor對象中,原來預設組件UIAnchor中的參數UICamera是第二個攝像機,我們現在把它改成第一個攝像機,再點擊播放,Well
Done!成功了!

圖片:12.jpg

接著給每個Item添加一個DragCamera組件(Component->NGUI->
Interaction -> DragCamera)和一個Trigger(Ngui->Attach a Collider)。再為其添加一個ButtonScale組件和一個buttonSound組件(都在Component->NGUI->Interaction中)

圖片:13.jpg

最後來實現那個Press me按鈕。首先,選擇Window對象,為其添加一個TweenPosisiton組件(Component->Tween->Position),並關閉它(我們將用按鈕來開啟它),並設定它的參數,

圖片:14.jpg

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.