From a5ee16d3f4fa8d79667941c2a6a5434d30b28684 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 13 Aug 2022 17:04:51 +0000 Subject: [PATCH] pad rotated frames --- .../source/HabitState.hx | 2 +- .../source/HabitState.kiss | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.hx b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.hx index 37bd65c6..340f9155 100644 --- a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.hx +++ b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.hx @@ -43,7 +43,7 @@ import jigsawx.math.Vec2; class HabitState extends FlxState { public function drawPieceShape( surface: FlxSprite, jig: JigsawPiece, scale:Float, c: FlxColor ) { - var points = [for (point in jig.getPoints()) new FlxPoint(point.x / scale, point.y / scale)]; + var points = [for (point in jig.getPoints()) new FlxPoint(point.x / scale + ROT_PADDING, point.y / scale + ROT_PADDING)]; points.push(points[0]); FlxSpriteUtil.drawPolygon( surface, diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss index 9ec3002f..f46516de 100644 --- a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss +++ b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss @@ -302,10 +302,13 @@ (pieceCamera.calculateScrollBounds rewardSprites uiCamera SCROLL_BOUND_MARGIN) (save.flush))) - (source.makeGraphic (Std.int sourceRect.width) (Std.int sourceRect.height) FlxColor.TRANSPARENT true) - (source.pixels.copyPixels rewardSprite.pixels sourceRect (new Point 0 0)) + (var ROT_PADDING 2) + (localVar fWidth (+ (Std.int sourceRect.width) (* 2 ROT_PADDING))) + (localVar fHeight (+ (Std.int sourceRect.height) (* 2 ROT_PADDING))) + (source.makeGraphic fWidth fHeight FlxColor.TRANSPARENT true) + (source.pixels.copyPixels rewardSprite.pixels sourceRect (new Point ROT_PADDING ROT_PADDING)) - (mask.makeGraphic (Std.int sourceRect.width) (Std.int sourceRect.height) FlxColor.TRANSPARENT true) + (mask.makeGraphic fWidth fHeight FlxColor.TRANSPARENT true) (drawPieceShape mask jig ros FlxColor.BLACK) (FlxSpriteUtil.alphaMask s source.pixels mask.pixels) **(#when debug @@ -431,8 +434,8 @@ minY (/ (apply min pointsY) ros) maxX (/ (apply max pointsX) ros) maxY (/ (apply max pointsY) ros) - rect (.fromTwoPoints (new FlxRect) (new FlxPoint minX minY) (new FlxPoint maxX maxY)) - originOffset (new FlxPoint (- s.origin.x minX) (- s.origin.y minY)) + tlc (.add (new FlxPoint minX minY) ROT_PADDING ROT_PADDING) + brc (.add (new FlxPoint maxX maxY) ROT_PADDING ROT_PADDING) rotationPadding (dictGet rotationPaddingMap s) rect (.fromTwoPoints (new FlxRect) (tlc.addPoint rotationPadding) (brc.addPoint rotationPadding)) originOffset (new FlxPoint (- s.origin.x rect.x) (- s.origin.y rect.y))