functions to bring an array of sprites front/back
This commit is contained in:
@@ -229,12 +229,10 @@
|
||||
(set s.mouseStartDragCallback
|
||||
->:Void [s x y]
|
||||
(let [s (cast s KissExtendedSprite)]
|
||||
// Bring currently held pieces to the front:
|
||||
(rewardSprites.bringToFront s)
|
||||
(set s.priorityID (+ 1 .priorityID (last (the kiss.List<KissExtendedSprite> rewardSprites.members))))
|
||||
(let [connectedPieces (recursivelyConnectedPieces s)]
|
||||
(doFor connected connectedPieces
|
||||
(rewardSprites.bringToFront connected))
|
||||
// Bring currently held pieces to the front:
|
||||
(rewardSprites.bringAllToFront (cast (concat [s] connectedPieces)))
|
||||
(set s.connectedSprites connectedPieces))
|
||||
(set draggingSprite s)
|
||||
(set draggingLastPos (new FlxPoint s.x s.y))))
|
||||
|
@@ -8,6 +8,14 @@
|
||||
(group.remove obj)
|
||||
(group.insert 0 obj)))
|
||||
|
||||
(function :Void bringAllToFront <>[:FlxObject T] [:FlxTypedGroup<T> group :Array<T> arr]
|
||||
(doFor s (group.members.copy)
|
||||
(when (contains arr s) (bringToFront group s))))
|
||||
|
||||
(function :Void sendAllToBack <>[:FlxObject T] [:FlxTypedGroup<T> group :Array<T> arr]
|
||||
(doFor s (reverse (group.members.copy))
|
||||
(when (contains arr s) (sendToBack group s))))
|
||||
|
||||
(function :FlxRect calculateScreenBounds <>[:FlxSprite T] [:FlxTypedGroup<T> group &opt :FlxCamera camera :Float margin]
|
||||
(unless margin (set margin 0))
|
||||
(let [s (group.getFirstAlive)
|
||||
|
Reference in New Issue
Block a user