就是一个只有一帧(有多帧也是通用的问题,但概率小一些)的动画,播放完后播放另一个循环动画(或删除自己)。
刚测试过几个版本,1.5.2是没问题的,1.5.3和1.5.4_beta都有问题。 部分代码如下:
// 播放开火动画(只有一帧,不循环),播放完后播放正常动画(循环)
g_WeaponFactory.mWeaponCur.PlayAnima(WEAPON_ANIMA_FIRE);
// 播放动画
_proto.PlayAnima = function(anaimaname)
{
// 第一次创建一个动画
if (null == this.mAnimaCur)
{
this.mAnimaCur = new laya.display.Animation();
this.mAnimaCur.interval = 100;
this.addChild(this.mAnimaCur);
}
var loop = true;
if (anaimaname == WEAPON_ANIMA_FIRE)
{
this.mAnimaCur.interval = 60;
loop = false;
}
var fullname = this.mWeaponCfg.mName + "_" + anaimaname;
this.mAnimaCur.rotation = this.mAngle;
this.mAnimaCur.play(0, loop, fullname);
if (anaimaname == WEAPON_ANIMA_FIRE)
{
this.mAnimaCur.once(laya.events.Event.COMPLETE, this, this.onFireAnimaDone);
}
}
// 开火动画回调函数
_proto.onFireAnimaDone = function()
{
this.PlayAnima(WEAPON_ANIMA_NORMAL);
}