美文网首页
角色边界检查,减去了角色动画一半的宽度或高度,但运行起来无效

角色边界检查,减去了角色动画一半的宽度或高度,但运行起来无效

作者: 一眼就认出你 | 来源:发表于2018-09-13 11:30 被阅读0次

实例网址:https://ldc.layabox.com/doc/?nav=zh-as-6-2-4 (主角边界检查更新)
无效原因:因为动画加载后,只有真正完成一次动画,再通过获取动画对象矩形边界的方法才能获得其宽高属性
解决办法:加入“动画播放完成”的监听事件,并建立回调方法来获得宽高


 this.roleAni=new Laya.Animation();
 //播放角色动画,name=角色类型_动画状态,如:hero_fly
this.roleAni.play(0,true,"hero_fly");
//监听动画播放完成事件
 this.roleAni.on(Laya.Event.COMPLETE,this,this.onComplete)
/***动画完成后回调方法***/
  private onComplete():void {
            //如果角色还未有宽,获得角色宽高    
            if(this.roleAni.width==0)
            {
                //获得动画矩形边界
                var bounds:Laya.Rectangle=this.roleAni.getBounds();
                //角色宽高赋值
                this.roleAni.size(bounds.width,bounds.height)
            }
     }

相关文章

网友评论

      本文标题:角色边界检查,减去了角色动画一半的宽度或高度,但运行起来无效

      本文链接:https://www.haomeiwen.com/subject/hthwgftx.html