zoukankan      html  css  js  c++  java
  • 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方法,即可从舞台移除预制件,并删除其引用关系

  • 相关阅读:
    高阶函数之函数柯里化function currying
    学习javascript设计模式之状态模式
    学习javascript设计模式之代理模式
    学习javascript设计模式之发布-订阅(观察者)模式
    Json序列化提示缺少编译器要求的成员“ystem.Runtime.CompilerServices.ExtensionAttribute..ctor”
    获取实例
    webservice跨域问题
    IIS客户端没有权限
    IIS7.5 错误代码0x8007007e HTTP 错误 500.19
    获取当前文件夹路径
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/12714800.html
Copyright © 2011-2022 走看看