From 302e719ee6760c35d8ee8dbdb4899e5bfd0390b0 Mon Sep 17 00:00:00 2001 From: Lenheart <947330670@qq.com> Date: Fri, 13 Dec 2024 20:48:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EAni=20=20=E6=88=90=E5=91=98?= =?UTF-8?q?=E5=82=A8=E5=AD=98Ani=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sqr/Core/BaseClass/AnimationClass/AnimationClass.nut | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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()); } //被添加时 要刷新一下当前帧