Laya的預設Prefab (預制件)


參考:

Laya預設的使用

 

版本:Laya2.5.0

 

一 預設組件是什么

預設組件相當於自定義組件,比如你自定義一個圖片輪播組件,然后可以拖動這個輪播組件到多個頁面去重復使用。

和頁面嵌套(scene、view等)做的自定義組件區別就是預設可以單獨修改。

比如你的圖片輪播有上一頁和下一頁按鈕,5個預設可以設置每個按鈕不用顏色。而頁面嵌套則是修改了一個,所有用到這個頁面的地方都會修改。

 

二 如何創建預設

我在HomeScene.scene下拼湊了一個輪播圖片組件,選擇它的容器Sprite,然后右上角選擇保存預設

 

 

 

可以看到Scenes/prefab下新增加了PicureUI.prefab預設文件。這樣預設文件就創建完畢了,你可以直接拖動這個預設文件到其它頁面使用。

 

三  預設可以單獨設置的特性

下面創建2個圖片輪播預設,每個按鈕不同顏色。

拖動兩個PictureUI.prefab到舞台,點擊第一個預設的按鈕,更換按鈕的skin。

可以看到第一個預設按鈕變了skin后,第二個預設按鈕的skin還是保持原來的。

假如是scene或者view制作的組件,你修改第一個按鈕,第二個按鈕也會跟着變。

 

修改源預設文件,所有預設文件會同時改變。 選擇PictureUI.prefab預設文件,改變第一個按鈕的skin。

 

 

可以看到第一個組件的按鈕skin沒有跟着源預設文件改變,因為第一個預設的按鈕已經被單獨修改過,不跟隨源預設文件改變。

第二個預設按鈕skin跟着源預設文件改變。

 

 

 

六  怎么給預制件加上代碼

創建圖片輪播的代碼,圖片輪播功能有開始播放、停止播放、上一頁、下一頁

 

lastBtn和nextBtn是設置的PictureUI.prefab上一頁和下一頁按鈕的名稱。注意是name,不是var。

在代碼里通過this.owner.getChildByName獲取預設上的UI組件。

 

選擇預制件Scenes/prefab/PictureUI.prefab,選擇屬性面板右下角的添加組件,選擇code/PictureUI,則會將圖片輪播的代碼邏輯以組件形式掛到prefab上。

代碼會在預制件顯示時自動執行。

 

我們拖動一個圖片輪播prefab到主頁場景,開始運行,並點擊上一頁按鈕

 

 

 

七 如何在代碼中創建預設

上面我們是直接拖動預制件到場景上使用,那么怎么在代碼里使用預制件。

在HomeScene設置預設屬性pictureUI。

 

 

 

在主頁HomeScene.scene上添加HomeScene.ts代碼組件,並拖動Scenes/prefab/PictureUI.prefab賦值到屬性pictureUI上

 

 通過Laya.Pool創建了一個圖片輪播預設,獲取預設上的PictureUI.ts代碼,調用play函數。

 

 

 

運行游戲。在顯示HomeScene主頁場景時,Laya.Pool通過綁定在場景上的pictureUI.prefab創建一個圖片輪播實例,並使用getComponent獲取圖片輪播代碼,執行play播放操作。

 

 

 

其他: 

 1. 切斷預設

選擇第一個組件,右鍵選擇切斷預設

 

 

切斷預設后,預設組件恢復成為了普通組件,不再金色高亮顯示了

 

2. 銷毀預制件

調用其destroy方法,即可從舞台移除預制件,並刪除其引用關系

 


免責聲明!

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



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