add anim but dont work

This commit is contained in:
lunarcleint
2023-07-10 00:05:11 -07:00
parent 5c6a4ff57d
commit 8a464196be
6 changed files with 121 additions and 30 deletions
+21
View File
@@ -1,5 +1,6 @@
package funkin.backend.utils;
import flixel.animation.FlxAnimation;
import funkin.backend.FunkinSprite;
import funkin.backend.system.ErrorCode;
import funkin.backend.FunkinSprite.XMLAnimType;
@@ -163,6 +164,25 @@ class XMLUtil {
return addAnimToSprite(sprite, extractAnimFromXML(anim, animType, loop));
}
public static function getAnimationData(sprite:FlxSprite, name:String):AnimData {
var flxanim:FlxAnimation = sprite.animation.getByName(name);
var animData:AnimData = {
name: name,
anim: flxanim.prefix,
fps: flxanim.frameRate,
loop: flxanim.looped,
x: 0,
y: 0,
indices: flxanim.usesIndicies ? flxanim.frames : [],
animType: NONE
};
if (sprite is FunkinSprite) {
var animOffset = cast(sprite, FunkinSprite).getAnimOffset(name);
animData.x = animOffset.x; animData.y = animOffset.y;
}
return animData;
}
public static function addAnimToSprite(sprite:FlxSprite, animData:AnimData):ErrorCode {
if (animData.name != null && animData.anim != null) {
if (animData.fps <= 0 #if web || animData.fps == null #end) animData.fps = 24;
@@ -174,6 +194,7 @@ class XMLUtil {
else
animateAnim.addBySymbol(animData.name, animData.anim, animData.fps, animData.loop);
} else {
trace("ge");
if (animData.indices.length > 0)
sprite.animation.addByIndices(animData.name, animData.anim, animData.indices, "", animData.fps, animData.loop);
else