日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NGUI: UIPanel控件

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NGUI: UIPanel控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://blog.csdn.net/huang9012/article/details/19411703

? ? ? ? ? ?http://bbs.9ria.com/thread-417659-1-1.html

NGUI官方文檔:http://tasharen.com/ngui/docs/annotated.html


概述

UIPanel用來收集和管理它以下全部widget的組件。

通過widget的geometry創建實際的draw call。沒有panel全部東西都不可以被渲染出來。

假設你對Unity熟悉,你可以把UIPanel當做Renderer。





全部panel都有一個Depth值,會影響全部它包括的widget。

假設你的UI有非常多窗體,那么最好每個窗體有一個panel。

Panel上的depth權重會遠遠高于每個widget的depth權重。所以保證panel不要使用相同的depth。假設使用相同的depth在panel上,那么draw call會被自己主動拆分來保證渲染順序。所以會添加很多其它的draw call。


  • Alpha屬性影響全部在panel以下的widget。所以能夠用它來淡出整個窗體。
  • 假設你的UI須要被燈光影響。須要勾選上Normals

  • 假設創建了一個有非常多geometry的scrollable panel。你須要勾選Cull選項來降低三角形的數目。這樣也可能降低性能。由于widget的可視性須要每次update都檢驗一次。
  • 勾選Static選項來告訴NGUI這個panel以下的widget不會被移動,這樣能夠提高性能。

    NGUI會忽略全部的position/rotation/scale改變。所以在執行時移動widget不會有效——所以小心使用。

  • 假設要調試由panel創建的draw calls,Show All選項可能幫助到你。你會看到由panel創建的全部draw call,以渲染順序排序。每一個draw call會包含它使用到material的具體信息。那個widget用的這個material,甚至能夠讓你關閉某些draw call來讓你查詢某些問題。


Panel會依據dimensions自己主動Clip全部它的子節點。

使用這個功能須要選擇Clipping下拉列表中的隨意選項,之后調整Scene View中紫色矩形的尺寸。就像調整widget的尺寸一樣。通過這樣做你能夠把一個panel放到Scroll View中,讓他輕松的拖拽。



注意clipping的panel不能嵌套。每一個panel僅僅能clip自己管理的widget,假設一個panel在另外一個panel里面,僅僅有一個會影響到里面的widget。這個限制以后會去掉。

默認NGUI中panel的Render Queues從3000開始往上添加。你能夠通過Render Q來改動。假設你想在兩個panel中間添加粒子。僅僅要改動兩個panel的render queue一個高于粒子,一個低于粒子就可以。假設想要讓全部的draw call使用和NGUI 2.x版本號的渲染方式一樣,使用z軸而不是depth。那么給panel的Render Q指定為Explicit。(NGUI 2.x用的是3000)。

假設你找和Anchors相關的文檔,能夠看基類——UIRect。

小貼士

一個動力學Rigidbody會自己主動添加到你的panel上,由于對于Unity來說這樣會提升性能。移動靜態的collider會有非常多消耗性能的操作,可是移動rigidbody就不會。

類文檔

http://tasharen.com/ngui/docs/class_u_i_panel.html




............................................................完美的切割線........................................................................

UIPanel的一些小知識


UIPanel用來收集和管理它以下全部widget的組件。通過widget的geometry創建實際的draw call。沒有panel全部東西都不可以被渲染出來,你可以把UIPanel當做Renderer。



?

? ?假設創建了一個有非常多geometry的scrollable panel,你須要勾選Cull選項來降低三角形的數目。這樣也可能降低性能。由于widget的可視性須要每次update都檢驗一次。
? ? 勾選Static選項來告訴NGUI這個panel以下的widget不會被移動。這樣能夠提高性能。

NGUI會忽略全部的position/rotation/scale改變。所以在執行時移動widget不會有效——所以小心使用。


? ? 假設要調試由panel創建的draw calls,Show All選項可能幫助到你。

你會看到由panel創建的全部draw call,以渲染順序排序。

每一個draw call會包含它使用到material的具體信息。那個widget用的這個material,甚至能夠讓你關閉某些draw call來讓你查詢某些問題。



Panel會依據dimensions自己主動Clip全部它的子節點。使用這個功能須要選擇Clipping下拉列表中的隨意選項,之后調整Scene View中紫色矩形的尺寸。就像調整widget的尺寸一樣。

通過這樣做你能夠把一個panel放到Scroll View中,讓他輕松的拖拽。



注意clipping的panel不能嵌套。

每一個panel僅僅能clip自己管理的widget。假設一個panel在另外一個panel里面,僅僅有一個會影響到里面的widget。這個限制以后會去掉。



默認NGUI中panel的Render Queues從3000開始往上添加。

你能夠通過Render Q來改動。

假設你想在兩個panel中間添加粒子,僅僅要改動兩個panel的render queue一個高于粒子。一個低于粒子就可以。

假設想要讓全部的draw call使用和NGUI 2.x版本號的渲染方式一樣,使用z軸而不是depth。那么給panel的Render Q指定為Explicit。(NGUI 2.x用的是3000)。



小貼士
一個動力學Rigidbody會自己主動添加到你的panel上。由于對于Unity來說這樣會提升性能。

移動靜態的collider會有非常多消耗性能的操作,可是移動rigidbody就不會。



上面關于UIPanel知識參考于此鏈接:http://www.tasharen.com/forum/index.php?topic=6705.0

轉載于:https://www.cnblogs.com/yutingliuyl/p/6703530.html

總結

以上是生活随笔為你收集整理的NGUI: UIPanel控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。