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