Skip to content

LayaAir 3.0.8 引擎库

Compare
Choose a tag to compare
@LayaCharley LayaCharley released this 27 Nov 04:18
68eade4

3.0.8 更新日志

更多版本日志以及IDE的下载,请前往LayaAir官网:https://layaair.com/#/engineDownload

BUG修复

引擎

  1. 修复了3D粒子在iOS上出现黑边的BUG
  2. 修复了脚本组件的OnMouseDrag方法无法触发,需要手动注册一个鼠标事件才能触发的BUG
  3. 修复了Tab组件的labelAlign属性设置没有效果的BUG

IDE

  1. 修复了导入gltf模型材质显示不正确的BUG
  2. 修复了2D预制体根节点设置锚点为(0.5,0.5)引起的显示问题
  3. 修复了2D节点面板MouseEnabled属性值为false时的不生效问题
  4. 修复了烘焙动画在Mac上报错找不到目录的问题
  5. 修复了发布vivo后关闭,再次发布时出现文件被锁情况导致无法发布,需要手动杀掉进程才行的BUG
  6. 修复了改变嵌套预制体里的预制体节点顺序,刷新后顺序又被重新排列的BUG
  7. 修复了复制嵌套预设中的预设,会解除预设的BUG
  8. 修复了自定义shader声明了纹理参数,在材质面板上赋值纹理之后,再次将纹理设置为null,此时材质面板上修改任意参数的值,纹理内容又重新显示回来了的BUG
  9. 修复了自定义控件作为预制体根节点时,runtime脚本不正确的BUG
  10. 修复了JS插件不勾选“发布时压缩”,但发布时仍然被压缩的BUG
  11. 修复了IDE的2D入门示例模板中panel窗口在手机触摸屏上不能缩放的问题
  12. 修复了某些特别的2D图片在纹理压缩后颜色产生明显差异的问题

易用优化

  1. 支持小游戏模板目录内的任意目录在发布时均会复制到小游戏目录里
  2. 优化了绘制文字的属性名,Graphics绘制文字的单词stork拼写错误,改为正确的拼写stroke
  3. 限制预制体嵌套自身的预制体,避免因此导致死循环
  4. WEB平台发布增加了是否使用安全扩展名的选项

功能新增

  1. 动画脚本支持了onStateLoop的回调,动画设置了循环的话,每次循环结束时会被调用;

    2D动画支持了gotoAndStop以及gotoAndStopByFrame的逻辑,使用示例:

    const { regClass } = Laya;
    
    interface AnimatorPlayScriptInfo {
        animator: Laya.Animator | Laya.Animator2D;
        layerindex: number;
        playState: Laya.AnimatorState | Laya.AnimatorState2D;
    }
    
    /**
     * 继承自AnimatorStateScript(动画状态脚本)
     */
    @regClass()
    export class AnimationScript1 extends Laya.AnimatorStateScript {
        /**动画的状态信息 */
        playStateInfo: AnimatorPlayScriptInfo = { animator: null, layerindex: -1, playState: null };
    
        setPlayScriptInfo(animator: Laya.Animator | Laya.Animator2D, layerindex: number, playstate: Laya.AnimatorState | Laya.AnimatorState2D) {
            this.playStateInfo.animator = animator;
            this.playStateInfo.layerindex = layerindex;
            this.playStateInfo.playState = playstate;
        }
    
        /**
         * 动画状态开始时执行。
         */
        onStateEnter(): void {
            console.log("动画开始播放了");
        }
    
        /**
         * 动画状态运行中
         * @param normalizeTime 0-1动画播放状态
         */
        onStateUpdate(normalizeTime: number): void {
            console.log("动画状态更新了");
        }
    
        /**
        * 动画状态退出时执行。
        */
        onStateExit(): void {
            console.log("动画退出了");
        }
    
        /**
         * 动画设置了循环的话,每次循环结束时执行
         */
        onStateLoop(): void {
            (this.playStateInfo.animator as Laya.Animator2D).gotoAndStop(this.playStateInfo.playState.name, this.playStateInfo.layerindex, 1);
        }
    }