diff --git a/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut b/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut index 3ec71b2..fd63f79 100644 --- a/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut +++ b/sqr/Core/BaseClass/AnimationClass/AnimationClass.nut @@ -27,16 +27,19 @@ class Animation extends Actor { //Ani类型 Type = "normal"; + //Ani路径 + AniPath = null; //附加选项 AdditionalOptions = null; constructor(...) { + base.constructor(); + //精灵帧数组 SpriteArr = []; //帧数组 FrameArr = []; - base.constructor(); //判断是否有特殊处理 if (vargv.len() > 1) { @@ -46,6 +49,7 @@ class Animation extends Actor { InitData(vargv[0]); } + function InitData(Data) { local Buf; if (type(Data) == "table") { @@ -94,6 +98,7 @@ class Animation extends Actor { } if (Buf) { + AniPath = Buf.filepath; AnimationFlag = Buf.Flag; FrameArr = Buf.Frame; foreach(FrameObj in FrameArr) { @@ -120,8 +125,8 @@ class Animation extends Actor { error("创建Ani失败,找不到Ani数据"); } - //初始化完毕设置大小为第0帧大小否则天空 地板等依靠大小的初始化会有问题 - SetSize(SpriteArr[0].GetSize()); + //初始化完毕 如果是第一次初始化 而非重新构造 设置大小为第0帧大小否则天空 地板等依靠大小的初始化会有问题 + if (CurrentIndexT == 0) SetSize(SpriteArr[0].GetSize()); } //被添加时 要刷新一下当前帧