diff --git a/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut b/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut index ea93008..4bbfba8 100644 --- a/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut +++ b/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut @@ -106,21 +106,25 @@ class Animation extends Actor { AnimationFlag = Buf.Flag; FrameArr = Buf.Frame; foreach(FrameObj in FrameArr) { - //如果有附加处理 格式化 - if (AdditionalOptions && AdditionalOptions.rawin("ImgFormat")) FrameObj.Img_Path = AdditionalOptions["ImgFormat"](FrameObj.Img_Path); + local Spritebuf; + //img路径判空 + if (FrameObj.Img_Path) { + //如果有附加处理 格式化 + if (AdditionalOptions && AdditionalOptions.rawin("ImgFormat")) FrameObj.Img_Path = AdditionalOptions["ImgFormat"](FrameObj.Img_Path); - local SpriteFramebuf = CL_SpriteFrameObject("sprite/" + FrameObj.Img_Path, FrameObj.Img_Index); - local Spritebuf = CL_SpriteObject(); - Spritebuf.SetFrame(SpriteFramebuf); + Spritebuf = CL_SpriteObject("sprite/" + FrameObj.Img_Path, FrameObj.Img_Index); - //线性减淡 - if ("GRAPHIC_EFFECT_LINEARDODGE" in FrameObj.Flag) { - Spritebuf.SetMode(0); + //线性减淡 + if ("GRAPHIC_EFFECT_LINEARDODGE" in FrameObj.Flag) { + Spritebuf.SetMode(0); + } + + //坐标 + Spritebuf.SetPosition(FrameObj.Pos); + } else { + Spritebuf = CL_SpriteObject(); } - //坐标 - Spritebuf.SetPosition(FrameObj.Pos); - SpriteArr.append(Spritebuf); }