package; import flixel.FlxSprite; import flixel.FlxState; import flixel.addons.display.FlxGridOverlay; import flixel.group.FlxGroup.FlxTypedGroup; import flixel.math.FlxPoint; import flixel.text.FlxText; import flixel.util.FlxColor; import openfl.Assets; import openfl.display.BitmapData; import openfl.display.MovieClip; import openfl.display.Timeline; import openfl.geom.Matrix; import openfl.geom.Rectangle; class CutsceneAnimTestState extends FlxState { var cutsceneGroup:CutsceneCharacter; var curSelected:Int = 0; var debugTxt:FlxText; var funnySprite:FlxSprite = new FlxSprite(); var clip:MovieClip; public function new() { super(); var gridBG:FlxSprite = FlxGridOverlay.create(10, 10); gridBG.scrollFactor.set(0.5, 0.5); add(gridBG); debugTxt = new FlxText(900, 20, 0, "", 20); debugTxt.color = FlxColor.BLUE; add(debugTxt); clip = Assets.getMovieClip("tanky:"); // clip.x = FlxG.width/2; // clip.y = FlxG.height/2; FlxG.stage.addChild(clip); var swagShit:MovieClip = Assets.getMovieClip('tankBG:'); // swagShit.scaleX = 5; FlxG.stage.addChild(swagShit); swagShit.gotoAndStop(13); var swfMountain = new BitmapData(FlxG.width, FlxG.height, true, 0x00000000); swfMountain.draw(swagShit, swagShit.transform.matrix); var mountains:FlxSprite = new FlxSprite().loadGraphic(swfMountain); // add(mountains); FlxG.stage.removeChild(swagShit); funnySprite.x = FlxG.width / 2; funnySprite.y = FlxG.height / 2; add(funnySprite); } override function update(elapsed:Float) { super.update(elapsed); // jam sprite into top left corner var drawMatrix:Matrix = clip.transform.matrix; var bounds:Rectangle = clip.getBounds(null); drawMatrix.tx = -bounds.x; drawMatrix.ty = -bounds.y; // make bitmapdata only as big as it needs to be var funnyBmp:BitmapData = new BitmapData(Math.ceil(bounds.width), Math.ceil(bounds.height), true, 0x00000000); funnyBmp.draw(clip, drawMatrix, true); funnySprite.loadGraphic(funnyBmp); // jam sprite back into place lol funnySprite.offset.x = -bounds.x; funnySprite.offset.y = -bounds.y; } }