Movie.newActor and ActorFlxSprite constructor

This commit is contained in:
2021-10-28 12:24:12 -04:00
parent 3d0940bfe2
commit 385a2dcfa1
3 changed files with 28 additions and 1 deletions

View File

@@ -4,5 +4,14 @@ import kiss.Prelude;
import kiss.List;
import flixel.FlxSprite;
typedef AnimationArgs = {
name:String,
frames:Array<Int>,
?frameRate:Float, // default 30
?looped:Bool, // default true
?flipX:Bool, // default false
?flipY:Bool // default false
};
@:build(kiss.Kiss.build())
class ActorFlxSprite extends FlxSprite {}

View File

@@ -0,0 +1,14 @@
(defNew [:String assetPath &opt :Int frameWidth :Int frameHeight :Map<String,AnimationArgs> animations]
(super)
(if (and frameWidth frameHeight)
(loadGraphic assetPath frameWidth frameHeight)
(loadGraphic assetPath))
(when animations
(doFor =>name animationArgs animations
(animation.add
name
animationArgs.frames
(or animationArgs.frameRate 30)
(or animationArgs.looped true)
?animationArgs.flipX
?animationArgs.flipY))))

View File

@@ -45,3 +45,7 @@
FirstAppearance
})
cc))
(method newActor [name :Actor actor :Continuation cc]
(dictSet actors name actor)
(cc))