实例网址: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)
}
}
网友评论