flipX and flipY for alphabet XMLs
This commit is contained in:
@@ -209,6 +209,9 @@ class AlphabetEditor extends UIState {
|
||||
scaleX: 1,
|
||||
scaleY: 1,
|
||||
|
||||
flipX: false,
|
||||
flipY: false,
|
||||
|
||||
hasColorMode: false,
|
||||
colorMode: bigLetter.colorMode
|
||||
};
|
||||
|
||||
@@ -204,6 +204,9 @@ UPPERLETTER and LOWERLETTTER can be used in any backup prefix.";
|
||||
cos: 1.0,
|
||||
sin: 0.0,
|
||||
|
||||
flipX: false,
|
||||
flipY: false,
|
||||
|
||||
hasColorMode: false,
|
||||
colorMode: 0
|
||||
}],
|
||||
|
||||
@@ -11,6 +11,9 @@ class GlyphInfoWindow extends UIWindow {
|
||||
public var angleBox:UINumericStepper;
|
||||
public var colorModeDrop:UIDropDown;
|
||||
|
||||
public var flipXBox:UICheckbox;
|
||||
public var flipYBox:UICheckbox;
|
||||
|
||||
public var outlineTitle:UIText;
|
||||
public var outlineSep:UISprite;
|
||||
public var outlineCheck:UICheckbox;
|
||||
@@ -145,6 +148,9 @@ class GlyphInfoWindow extends UIWindow {
|
||||
cos: compon.cos,
|
||||
sin: compon.sin,
|
||||
|
||||
flipX: compon.flipX,
|
||||
flipY: compon.flipY,
|
||||
|
||||
hasColorMode: compon.hasColorMode,
|
||||
colorMode: compon.colorMode
|
||||
};
|
||||
@@ -159,6 +165,22 @@ class GlyphInfoWindow extends UIWindow {
|
||||
}
|
||||
members.push(outlineCheck);
|
||||
|
||||
flipXBox = new UICheckbox(outlineCheck.x, outlineCheck.y - outlineCheck.height - 8, "Flip X?");
|
||||
flipXBox.onChecked = function(check:Bool) {
|
||||
compon.flipX = check;
|
||||
if (outlineCheck.checked)
|
||||
data.components[compon.outIndex].flipX = check;
|
||||
}
|
||||
members.push(flipXBox);
|
||||
|
||||
flipYBox = new UICheckbox(flipXBox.x + flipXBox.width + itemMargin * 5, flipXBox.y, "Flip Y?");
|
||||
flipYBox.onChecked = function(check:Bool) {
|
||||
compon.flipY = check;
|
||||
if (outlineCheck.checked)
|
||||
data.components[compon.outIndex].flipY = check;
|
||||
}
|
||||
members.push(flipYBox);
|
||||
|
||||
outlineTitle = new UIText(colorModeDrop.x, colorModeDrop.y + colorModeDrop.bHeight + itemMargin, 0, "Outline Data");
|
||||
members.push(outlineTitle);
|
||||
outlineSep = new UISprite(x + itemMargin, colorModeDrop.y + colorModeDrop.bHeight + itemMargin + 19);
|
||||
@@ -239,6 +261,8 @@ class GlyphInfoWindow extends UIWindow {
|
||||
angleBox.value = com.angle;
|
||||
@:privateAccess colorModeDrop.index = com.hasColorMode ? com.colorMode : AlphabetEditor.instance.tape.colorMode;
|
||||
@:privateAccess colorModeDrop.label.text = colorModeDrop.options[colorModeDrop.index];
|
||||
flipXBox.checked = com.flipX;
|
||||
flipYBox.checked = com.flipY;
|
||||
|
||||
outlineCheck.checked = com.outIndex != null;
|
||||
outlineBox.label.text = "";
|
||||
|
||||
@@ -37,6 +37,9 @@ final class AlphabetComponent {
|
||||
public var scaleX:Float;
|
||||
public var scaleY:Float;
|
||||
|
||||
public var flipX:Bool;
|
||||
public var flipY:Bool;
|
||||
|
||||
public var hasColorMode:Bool;
|
||||
public var colorMode:ColorMode;
|
||||
}
|
||||
@@ -346,9 +349,9 @@ class Alphabet extends FlxSprite {
|
||||
|
||||
_matrix.translate(_frame.frame.width * -0.5, _frame.frame.height * -0.5);
|
||||
if (__useDrawScale)
|
||||
_matrix.scale(__drawScale.x, __drawScale.y);
|
||||
_matrix.scale(__drawScale.x * (__component.flipX ? -1 : 1), __drawScale.y * (__component.flipY ? -1 : 1));
|
||||
else
|
||||
_matrix.scale(__component.scaleX, __component.scaleY);
|
||||
_matrix.scale(__component.scaleX * (__component.flipX ? -1 : 1), __component.scaleY * (__component.flipY ? -1 : 1));
|
||||
if(__component.shouldRotate)
|
||||
_matrix.rotateWithTrig(__component.cos, __component.sin);
|
||||
_matrix.translate(_frame.frame.width * 0.5, _frame.frame.height * 0.5);
|
||||
@@ -558,6 +561,9 @@ class Alphabet extends FlxSprite {
|
||||
cos: angleCos,
|
||||
sin: angleSin,
|
||||
|
||||
flipX: node.get("flipX") == "true",
|
||||
flipY: node.get("flipY") == "true",
|
||||
|
||||
hasColorMode: false,
|
||||
colorMode: 0
|
||||
}],
|
||||
@@ -593,6 +599,9 @@ class Alphabet extends FlxSprite {
|
||||
|
||||
var colorMode = ["tint", "offsets", "none"].indexOf(component.get("colorMode"));
|
||||
|
||||
var xFlip = component.get("flipX") == "true";
|
||||
var yFlip = component.get("flipY") == "true";
|
||||
|
||||
if (component.get("hasOutline") == "true") {
|
||||
components.insert(startIndex, {
|
||||
refIndex: componentsPushed,
|
||||
@@ -608,6 +617,9 @@ class Alphabet extends FlxSprite {
|
||||
cos: angleCos,
|
||||
sin: angleSin,
|
||||
|
||||
flipX: xFlip,
|
||||
flipY: yFlip,
|
||||
|
||||
hasColorMode: colorMode >= 0,
|
||||
colorMode: colorMode,
|
||||
});
|
||||
@@ -628,6 +640,9 @@ class Alphabet extends FlxSprite {
|
||||
cos: angleCos,
|
||||
sin: angleSin,
|
||||
|
||||
flipX: xFlip,
|
||||
flipY: yFlip,
|
||||
|
||||
hasColorMode: colorMode >= 0,
|
||||
colorMode: colorMode,
|
||||
});
|
||||
@@ -659,6 +674,9 @@ class Alphabet extends FlxSprite {
|
||||
var yScale:Float = Std.parseFloat(node.get("scaleY")).getDefaultFloat(1.0);
|
||||
var advance:Float = Std.parseFloat(node.get("advance"));
|
||||
|
||||
var xFlip = node.get("flipX") == "true";
|
||||
var yFlip = node.get("flipY") == "true";
|
||||
|
||||
var colorMode = ["tint", "offsets", "none"].indexOf(node.get("colorMode"));
|
||||
|
||||
var components:Array<AlphabetComponent> = [];
|
||||
@@ -677,6 +695,9 @@ class Alphabet extends FlxSprite {
|
||||
cos: angleCos,
|
||||
sin: angleSin,
|
||||
|
||||
flipX: xFlip,
|
||||
flipY: yFlip,
|
||||
|
||||
hasColorMode: colorMode >= 0,
|
||||
colorMode: colorMode,
|
||||
});
|
||||
@@ -696,6 +717,9 @@ class Alphabet extends FlxSprite {
|
||||
cos: angleCos,
|
||||
sin: angleSin,
|
||||
|
||||
flipX: xFlip,
|
||||
flipY: yFlip,
|
||||
|
||||
hasColorMode: colorMode >= 0,
|
||||
colorMode: colorMode,
|
||||
});
|
||||
@@ -758,7 +782,7 @@ class Alphabet extends FlxSprite {
|
||||
}
|
||||
|
||||
private static var alphabetProperties:Array<String> = ["fps", "advance", "lineGap", "forceCasing", "useColorOffsets", "antialiasing"];
|
||||
private static var componentProperties:Array<String> = ["name", "anim", "x", "y", "scaleX", "scaleY", "angle", "offsetX", "offsetY"];
|
||||
private static var componentProperties:Array<String> = ["name", "anim", "x", "y", "scaleX", "scaleY", "angle", "offsetX", "offsetY", "flipX", "flipY"];
|
||||
|
||||
public function buildXML():Xml {
|
||||
var xml = Xml.createElement("alphabet");
|
||||
|
||||
Reference in New Issue
Block a user