Make entry sprites draggable + save their positions
This commit is contained in:
@@ -3,7 +3,7 @@ package;
|
||||
import kiss.Prelude;
|
||||
import kiss.List;
|
||||
import flash.display.BitmapData;
|
||||
import flixel.FlxSprite;
|
||||
import flixel.addons.display.FlxExtendedSprite;
|
||||
import nat.Entry;
|
||||
import nat.Archive;
|
||||
import nat.BoolExpInterp;
|
||||
@@ -11,4 +11,4 @@ import nat.components.Images;
|
||||
import nat.components.Positions;
|
||||
|
||||
@:build(kiss.Kiss.build())
|
||||
class EntrySprite extends FlxSprite {}
|
||||
class EntrySprite extends FlxExtendedSprite {}
|
||||
|
@@ -8,4 +8,12 @@
|
||||
((object x x y y z z)
|
||||
(super x y)))
|
||||
(.onComplete (BitmapData.loadFromFile (joinPath archive.archiveDir "files" (nth images.imageFiles images.pinnedImageIndex)))
|
||||
->bitmapData (loadGraphic bitmapData))))
|
||||
->bitmapData {
|
||||
(loadGraphic bitmapData)
|
||||
(enableMouseClicks false)
|
||||
(enableMouseDrag)
|
||||
}))
|
||||
(set mouseStopDragCallback
|
||||
->[self _dx _dy]
|
||||
(withWritableComponents archive e [positions Positions]
|
||||
(dictSet positions positionKey (object x (cast this.x Float) y (cast this.y Float) z 0.0)))))
|
@@ -14,6 +14,7 @@ import flixel.text.FlxText;
|
||||
import flixel.util.FlxColor;
|
||||
import flixel.FlxCamera;
|
||||
import flixel.math.FlxVector;
|
||||
import flixel.addons.plugin.FlxMouseControl;
|
||||
|
||||
using StringTools;
|
||||
|
||||
|
@@ -7,6 +7,9 @@
|
||||
|
||||
(method &override :Void create []
|
||||
(super.create)
|
||||
|
||||
(FlxG.plugins.add (new FlxMouseControl))
|
||||
|
||||
// TODO find a better way to pass the archiveDir to a HaxeFlixel game
|
||||
(let [archiveDir
|
||||
(or (Sys.getEnv "NAT_DIR") (throw "NAT_DIR environment variable must be set"))
|
||||
|
Reference in New Issue
Block a user