[]全局动画不能加载

在试打飞机Demo。
到《LayaAir实战开发5-切换状态及跟随鼠标》。
发现飞机的动画不能加载。
跟了下代码,发现问题是Animation.framesMap中动画的名字找不到。
Laya.Animation.createFrames(["war/hero1.png","war/hero2.png"],"hero_fly");

这句之后,Animation.framesMap会存一个hero_fly的动画。
但是play的实现
        __proto.play=function(start,loop,name){
(start===void 0)&& (start=0);
(loop===void 0)&& (loop=true);
(name===void 0)&& (name="");
if (name)this._setFramesFromCache(this._url+"#"+name);
this._isPlaying=true;
this.index=((typeof start=='string'))? this._getFrameByLabel(start):start;
this.loop=loop;
if (this._frames && this._frames.length > 1 && this.interval > 0){
this.timerLoop(this.interval,this,this._frameLoop,null,true);
}
}

__proto._setFramesFromCache=function(name){
if (name && Animation.framesMap[name]){
this._frames=Animation.framesMap[name];
this._count=this._frames.length;
return true;
}
return false;
}
是用this.url#hero_flyAnimation.framesMap里取的,所以取不到。
是Bug吗?
 
已邀请:

gajin2

赞同来自: cuixueying

playAction()也可以这样:
//根据类型播放动画
this.body.loadAnimation(action);//手动加载动画,这样可以不用修改引擎代码
this.body.play(0, true, action);//bug

Laya_XS

赞同来自:

你是用LayaAirIDE1.4版本发布到html5项目吗,如果是到话,1.4版本到Animation存在bug,这个我们下个版本会修复这个问题,临时修复方案:修改Animation类到play方法:
override public function play(start:* = 0, loop:Boolean = true, name:String = ""):void {
if (name) _setFramesFromCache(_url?_url + "#" + name:name);
this._isPlaying = true;
this.index = (start is String) ? _getFrameByLabel(start) : start;
this.loop = loop;
if (this._frames && this._frames.length > 1 && this.interval > 0) {
timerLoop(this.interval, this, _frameLoop, null, true);
}
}

要回复问题请先

商务合作
商务合作