Unity3D 視窗內容上下左右滾動 區域滑動

2021-09-02 18:15:27 字數 2027 閱讀 6392

在製作ui過程中,通常需要我們建立乙個小視窗來顯示很多內容,如遊戲說明、捕魚達人中魚的種類、電影票的選擇等等。

1.建立乙個「image」為視窗,命名「background」,新增「scroll rect」和「mask」屬性。如圖

其中「mask」,蒙版控制項,遮罩「background」以外的區域。

show mask graphic:顯示蒙版圖像,預覽蒙版圖像的顯示效果,通常要取消該核取方塊。

scroll rect:

content:需要滑動面板所有內容的父面板

horizontal:是否允許平行滑動

vertical:是否允許垂直滑動

movement:移動型別。unrestricted,自由的,內容可以隨意拖動;elastic,彈性的,允許內容暫時移出區域範圍,但彈性拉回,elasticity,彈性係數,預設0.1,數字越大,回彈所需時間越長;calmped,鉗制,不會超出邊界。

inertia:慣性,滑動結束時是否慣性移動;deceleration rate,減速度,為0時沒有慣性,為1時一直勻速至邊界,0-1時減速滾動,大於1時加速滾動直至邊界。

scroll sensitivity:滾動靈敏度,數值越大,滾動越靈敏。

viewport:視口區域的引用,可以定義要顯示的範圍

horizontal scrollbar:橫向的滑動控制條

vertical scrollbar:縱向的滑動控制條.

2.以「background」為父體建立乙個image,命名為「grid」,設定其尺寸及位置,新增「grid layout group」屬性。如圖

grid layout group(網格布局組):

padding:布局組的內邊距,布局組四周與布局元素之間的間距

cell size:組中布局元素的尺寸,即「fish0」的大小

spacing:布局元素之間的間距

start corner:第乙個元素所在的位置

start axis:放置元素沿哪個主座標軸。在開始乙個新行之前horizontal選項將填補一整行,vertical將在乙個新列開始之前填充整個列。

child alignment:布局元素的對齊方式,包括左上、左中、左下、中上、中中、中下、右上、右中、右下共9種對齊方式

constraint:限制網格的行列數為乙個固定值,以輔助自動布局系統。

設定好grid layout group後,直接複製貼上「fish0」,子元素可規整的排列,這種布局針對元素單一,切元素位置和尺寸不能單獨設定改變。

3.當「grid」的子物件需要不規整的排列或尺寸不一樣時。

方法1:只建立乙個子元素gameobject,該物件是「fish0」等元素的父體

方法2:給所有的子元素新增乙個「layout element」屬性,如圖

ignore layout : 忽視布局。如果想某個元素不參與布局,選中即可

min width,min height:最小寬度,最小高度。子控制項必須滿足的最小寬度(高度)(優先滿足,具有強制性)

preferred width,preferred height:優先寬度,優先高度。如果父控制項在滿足子控制項最小寬度(高度)後仍然有富餘空間,優先選擇的寬度(高度)

flexible width,flexible height:彈性寬度,彈性高度。父控制項在滿足子控制項優選寬度(高度)之後仍然有富餘空間,剩餘空間按比例分配的比例數值

兩種方法的不足是不參與布局的元素要單獨設定位置及尺寸。結果如圖:

當元素多時,可用**控制。

Unity3D 視窗裁剪

實現效果 拖動readplane 當包圍盒最小點超出blueplane的最小點時 僅做了左邊裁剪 對超出部分裁剪,當全部超出隱藏readplane 當readplane包圍盒的最大座標點大於blueplane的最小點時,顯示readplane 閱讀此文時,讀者最好具備世界座標 本地座標 bounds...

Unity3D內容加密保護

僅管資源 assets 在傳輸時可使用加密進行保護,但在資料流入客戶手中後。其內容就有可能被獲取。比如,有工具可記錄驅動程式級別上的 3d 資料,同意使用者提取傳送至 gpu 的模型和紋理。因此,我們通常希望在使用者決定提取資源時。可以滿足其要求。當然,假設您須要。也能夠對資源包 assetbund...

Unity3D中目標相對自身的前後左右方位判斷

在做rpg類遊戲的過程中,經常遇到要判斷周圍怪物相對自身的方位 1.判斷目標在自己的前後方位可以使用下面的方法 vector3.dot transform.forward,target.position 返回值為正時,目標在自己的前方,反之在自己的後方 2.判斷目標在機子的左右方位可以使用下面的方法...