VineExample.hx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package flixelExamples;
  2. import spine.Skin;
  3. import flixel.ui.FlxButton;
  4. import flixel.FlxG;
  5. import spine.flixel.SkeletonSprite;
  6. import spine.flixel.FlixelTextureLoader;
  7. import flixel.FlxState;
  8. import openfl.utils.Assets;
  9. import spine.SkeletonData;
  10. import spine.animation.AnimationStateData;
  11. import spine.atlas.TextureAtlas;
  12. class VineExample extends FlxState {
  13. var loadBinary = true;
  14. override public function create():Void {
  15. FlxG.cameras.bgColor = 0xffa1b2b0;
  16. var button = new FlxButton(0, 0, "Next scene", () -> FlxG.switchState(() -> new SackExample()));
  17. button.setPosition(FlxG.width * .75, FlxG.height / 10);
  18. add(button);
  19. var atlas = new TextureAtlas(Assets.getText("assets/vine.atlas"), new FlixelTextureLoader("assets/vine.atlas"));
  20. var data = SkeletonData.from(loadBinary ? Assets.getBytes("assets/vine-pro.skel") : Assets.getText("assets/vine-pro.json"), atlas, .4);
  21. var animationStateData = new AnimationStateData(data);
  22. animationStateData.defaultMix = 0.25;
  23. var skeletonSprite = new SkeletonSprite(data, animationStateData);
  24. var animation = skeletonSprite.state.setAnimationByName(0, "grow", true).animation;
  25. skeletonSprite.setBoundingBox(animation);
  26. skeletonSprite.screenCenter();
  27. add(skeletonSprite);
  28. super.create();
  29. }
  30. }