mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
gui render crap
This commit is contained in:
parent
cbc0257509
commit
e8cd086e80
7 changed files with 385 additions and 98 deletions
|
|
@ -701,12 +701,7 @@ class MarbleWorld extends Scheduler {
|
||||||
var spherebounds = new Bounds();
|
var spherebounds = new Bounds();
|
||||||
var center = marble.collider.transform.getPosition();
|
var center = marble.collider.transform.getPosition();
|
||||||
var radius = marble._radius;
|
var radius = marble._radius;
|
||||||
spherebounds.xMin = center.x - radius;
|
spherebounds.addSpherePos(center.x, center.y, center.z, radius);
|
||||||
spherebounds.yMin = center.y - radius;
|
|
||||||
spherebounds.zMin = center.z - radius;
|
|
||||||
spherebounds.xMax = center.x + radius;
|
|
||||||
spherebounds.yMax = center.y + radius;
|
|
||||||
spherebounds.zMax = center.z + radius;
|
|
||||||
|
|
||||||
var gjkSphere = new collision.gjk.Sphere();
|
var gjkSphere = new collision.gjk.Sphere();
|
||||||
gjkSphere.position = center;
|
gjkSphere.position = center;
|
||||||
|
|
|
||||||
26
src/gui/GuiAnim.hx
Normal file
26
src/gui/GuiAnim.hx
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
package gui;
|
||||||
|
|
||||||
|
import h2d.Anim;
|
||||||
|
import h2d.Scene;
|
||||||
|
import h2d.Tile;
|
||||||
|
import h2d.Bitmap;
|
||||||
|
|
||||||
|
@:publicFields
|
||||||
|
class GuiAnim extends GuiControl {
|
||||||
|
var anim:Anim;
|
||||||
|
|
||||||
|
public function new(textures:Array<Tile>) {
|
||||||
|
super();
|
||||||
|
this.anim = new Anim(textures, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override function render(scene2d:Scene) {
|
||||||
|
super.render(scene2d);
|
||||||
|
var renderRect = this.getRenderRectangle();
|
||||||
|
anim.setPosition(renderRect.position.x, renderRect.position.y);
|
||||||
|
anim.scaleX = renderRect.extent.x / anim.getFrame().width;
|
||||||
|
anim.scaleY = renderRect.extent.y / anim.getFrame().height;
|
||||||
|
if (!scene2d.contains(anim))
|
||||||
|
scene2d.addChild(anim);
|
||||||
|
}
|
||||||
|
}
|
||||||
101
src/gui/GuiControl.hx
Normal file
101
src/gui/GuiControl.hx
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
package gui;
|
||||||
|
|
||||||
|
import h2d.Scene;
|
||||||
|
import h2d.col.Bounds;
|
||||||
|
import hxd.Window;
|
||||||
|
import h3d.Vector;
|
||||||
|
|
||||||
|
enum HorizSizing {
|
||||||
|
Right;
|
||||||
|
Width;
|
||||||
|
Left;
|
||||||
|
Center;
|
||||||
|
Relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum VertSizing {
|
||||||
|
Bottom;
|
||||||
|
Height;
|
||||||
|
Top;
|
||||||
|
Center;
|
||||||
|
Relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
@:publicFields
|
||||||
|
class GuiControl {
|
||||||
|
var horizSizing:HorizSizing = Right;
|
||||||
|
var vertSizing:VertSizing = Bottom;
|
||||||
|
|
||||||
|
var position:Vector;
|
||||||
|
var extent:Vector;
|
||||||
|
|
||||||
|
var children:Array<GuiControl> = [];
|
||||||
|
|
||||||
|
var parent:GuiControl;
|
||||||
|
|
||||||
|
public function new() {}
|
||||||
|
|
||||||
|
public function render(scene2d:Scene) {
|
||||||
|
for (c in children) {
|
||||||
|
c.render(scene2d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRenderRectangle() {
|
||||||
|
var rect = new Rect(this.position, this.extent);
|
||||||
|
var parentRect:Rect = null;
|
||||||
|
if (this.parent != null) {
|
||||||
|
parentRect = this.parent.getRenderRectangle();
|
||||||
|
rect.position = parentRect.position.add(this.position);
|
||||||
|
}
|
||||||
|
if (this.horizSizing == HorizSizing.Width) {
|
||||||
|
if (this.parent != null)
|
||||||
|
rect.extent.x = parentRect.extent.x;
|
||||||
|
else
|
||||||
|
rect.extent.x = Window.getInstance().width;
|
||||||
|
}
|
||||||
|
if (this.vertSizing == VertSizing.Height) {
|
||||||
|
if (this.parent != null)
|
||||||
|
rect.extent.y = parentRect.extent.y;
|
||||||
|
else
|
||||||
|
rect.extent.y = Window.getInstance().height;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.horizSizing == HorizSizing.Center) {
|
||||||
|
if (this.parent != null) {
|
||||||
|
rect.position.x = parentRect.position.x + parentRect.extent.x / 2 - rect.extent.x / 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.vertSizing == VertSizing.Center) {
|
||||||
|
if (this.parent != null) {
|
||||||
|
rect.position.y = parentRect.position.y + parentRect.extent.y / 2 - rect.extent.y / 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.horizSizing == HorizSizing.Right) {
|
||||||
|
if (this.parent != null) {
|
||||||
|
rect.position.x = parentRect.position.x + this.position.x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.vertSizing == VertSizing.Bottom) {
|
||||||
|
if (this.parent != null) {
|
||||||
|
rect.position.y = parentRect.position.y + this.position.y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.horizSizing == HorizSizing.Left) {
|
||||||
|
if (this.parent != null) {
|
||||||
|
rect.position.x = parentRect.extent.x - (parent.extent.x - this.position.x);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.vertSizing == VertSizing.Top) {
|
||||||
|
if (this.parent != null) {
|
||||||
|
rect.position.y = parentRect.extent.y - (parent.extent.y - this.position.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addChild(ctrl:GuiControl) {
|
||||||
|
this.children.push(ctrl);
|
||||||
|
ctrl.parent = this;
|
||||||
|
}
|
||||||
|
}
|
||||||
25
src/gui/GuiImage.hx
Normal file
25
src/gui/GuiImage.hx
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
package gui;
|
||||||
|
|
||||||
|
import h2d.Scene;
|
||||||
|
import h2d.Tile;
|
||||||
|
import h2d.Bitmap;
|
||||||
|
|
||||||
|
@:publicFields
|
||||||
|
class GuiImage extends GuiControl {
|
||||||
|
var bmp:Bitmap;
|
||||||
|
|
||||||
|
public function new(texture:Tile) {
|
||||||
|
super();
|
||||||
|
this.bmp = new Bitmap(texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override function render(scene2d:Scene) {
|
||||||
|
super.render(scene2d);
|
||||||
|
var renderRect = this.getRenderRectangle();
|
||||||
|
bmp.setPosition(renderRect.position.x, renderRect.position.y);
|
||||||
|
bmp.scaleX = renderRect.extent.x / bmp.tile.width;
|
||||||
|
bmp.scaleY = renderRect.extent.y / bmp.tile.height;
|
||||||
|
if (!scene2d.contains(bmp))
|
||||||
|
scene2d.addChild(bmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
41
src/gui/GuiText.hx
Normal file
41
src/gui/GuiText.hx
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
package gui;
|
||||||
|
|
||||||
|
import h2d.Scene;
|
||||||
|
import hxd.res.BitmapFont;
|
||||||
|
import h2d.Text;
|
||||||
|
|
||||||
|
enum Justification {
|
||||||
|
Left;
|
||||||
|
Right;
|
||||||
|
Center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@:publicFields
|
||||||
|
class GuiText extends GuiControl {
|
||||||
|
var text:Text;
|
||||||
|
var justify:Justification = Left;
|
||||||
|
|
||||||
|
public function new(font:BitmapFont) {
|
||||||
|
super();
|
||||||
|
this.text = new Text(font.toFont());
|
||||||
|
}
|
||||||
|
|
||||||
|
public override function render(scene2d:Scene) {
|
||||||
|
super.render(scene2d);
|
||||||
|
var renderRect = this.getRenderRectangle();
|
||||||
|
if (justify == Left) {
|
||||||
|
text.setPosition(renderRect.position.x, renderRect.position.y);
|
||||||
|
text.textAlign = Left;
|
||||||
|
}
|
||||||
|
if (justify == Right) {
|
||||||
|
text.setPosition(renderRect.position.x + renderRect.extent.x, renderRect.position.y);
|
||||||
|
text.textAlign = Right;
|
||||||
|
}
|
||||||
|
if (justify == Center) {
|
||||||
|
text.setPosition(renderRect.position.x + renderRect.extent.x / 2, renderRect.position.y);
|
||||||
|
text.textAlign = Center;
|
||||||
|
}
|
||||||
|
if (!scene2d.contains(text))
|
||||||
|
scene2d.addChild(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package gui;
|
package gui;
|
||||||
|
|
||||||
|
import hxd.snd.WavData;
|
||||||
|
import gui.GuiControl.HorizSizing;
|
||||||
import src.TimeState;
|
import src.TimeState;
|
||||||
import format.gif.Data.Block;
|
import format.gif.Data.Block;
|
||||||
import hxd.res.BitmapFont;
|
import hxd.res.BitmapFont;
|
||||||
|
|
@ -23,32 +25,40 @@ class PlayGui {
|
||||||
|
|
||||||
public function new() {}
|
public function new() {}
|
||||||
|
|
||||||
var timerNumbers:Array<Anim> = [];
|
var timerNumbers:Array<GuiAnim> = [];
|
||||||
var timerPoint:Bitmap;
|
var timerPoint:GuiImage;
|
||||||
var timerColon:Bitmap;
|
var timerColon:GuiImage;
|
||||||
|
|
||||||
var gemCountNumbers:Array<Anim> = [];
|
var gemCountNumbers:Array<GuiAnim> = [];
|
||||||
var gemCountSlash:Bitmap;
|
var gemCountSlash:GuiImage;
|
||||||
var gemImageScene:h3d.scene.Scene;
|
var gemImageScene:h3d.scene.Scene;
|
||||||
var gemImageSceneTarget:Texture;
|
var gemImageSceneTarget:Texture;
|
||||||
var gemImageObject:DtsObject;
|
var gemImageObject:DtsObject;
|
||||||
var gemImageSceneTargetBitmap:Bitmap;
|
var gemImageSceneTargetBitmap:Bitmap;
|
||||||
|
|
||||||
var powerupBox:Bitmap;
|
var powerupBox:GuiImage;
|
||||||
var powerupImageScene:h3d.scene.Scene;
|
var powerupImageScene:h3d.scene.Scene;
|
||||||
var powerupImageSceneTarget:Texture;
|
var powerupImageSceneTarget:Texture;
|
||||||
var powerupImageObject:DtsObject;
|
var powerupImageObject:DtsObject;
|
||||||
|
|
||||||
var RSGOCenterText:Anim;
|
var RSGOCenterText:Anim;
|
||||||
|
|
||||||
var helpTextForeground:Text;
|
var helpTextForeground:GuiText;
|
||||||
var helpTextBackground:Text;
|
var helpTextBackground:GuiText;
|
||||||
var alertTextForeground:Text;
|
var alertTextForeground:GuiText;
|
||||||
var alertTextBackground:Text;
|
var alertTextBackground:GuiText;
|
||||||
|
|
||||||
|
var playGuiCtrl:GuiControl;
|
||||||
|
|
||||||
public function init(scene2d:h2d.Scene) {
|
public function init(scene2d:h2d.Scene) {
|
||||||
this.scene2d = scene2d;
|
this.scene2d = scene2d;
|
||||||
|
|
||||||
|
playGuiCtrl = new GuiControl();
|
||||||
|
playGuiCtrl.position = new Vector();
|
||||||
|
playGuiCtrl.extent = new Vector(640, 480);
|
||||||
|
playGuiCtrl.horizSizing = Width;
|
||||||
|
playGuiCtrl.vertSizing = Height;
|
||||||
|
|
||||||
var numberTiles = [];
|
var numberTiles = [];
|
||||||
for (i in 0...10) {
|
for (i in 0...10) {
|
||||||
var tile = ResourceLoader.getImage('data/ui/game/numbers/${i}.png').toTile();
|
var tile = ResourceLoader.getImage('data/ui/game/numbers/${i}.png').toTile();
|
||||||
|
|
@ -56,11 +66,11 @@ class PlayGui {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i in 0...7) {
|
for (i in 0...7) {
|
||||||
timerNumbers.push(new Anim(numberTiles, 0, scene2d));
|
timerNumbers.push(new GuiAnim(numberTiles));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i in 0...4) {
|
for (i in 0...4) {
|
||||||
gemCountNumbers.push(new Anim(numberTiles, 0, scene2d));
|
gemCountNumbers.push(new GuiAnim(numberTiles));
|
||||||
}
|
}
|
||||||
|
|
||||||
var rsgo = [];
|
var rsgo = [];
|
||||||
|
|
@ -70,38 +80,62 @@ class PlayGui {
|
||||||
rsgo.push(ResourceLoader.getImage("data/ui/game/outofbounds.png").toTile());
|
rsgo.push(ResourceLoader.getImage("data/ui/game/outofbounds.png").toTile());
|
||||||
RSGOCenterText = new Anim(rsgo, 0, scene2d);
|
RSGOCenterText = new Anim(rsgo, 0, scene2d);
|
||||||
|
|
||||||
timerPoint = new Bitmap(ResourceLoader.getImage('data/ui/game/numbers/point.png').toTile(), scene2d);
|
powerupBox = new GuiImage(ResourceLoader.getImage('data/ui/game/powerup.png').toTile());
|
||||||
timerColon = new Bitmap(ResourceLoader.getImage('data/ui/game/numbers/colon.png').toTile(), scene2d);
|
|
||||||
gemCountSlash = new Bitmap(ResourceLoader.getImage('data/ui/game/numbers/slash.png').toTile(), scene2d);
|
|
||||||
|
|
||||||
powerupBox = new Bitmap(ResourceLoader.getImage('data/ui/game/powerup.png').toTile(), scene2d);
|
|
||||||
initTimer();
|
initTimer();
|
||||||
initGemCounter();
|
initGemCounter();
|
||||||
initCenterText();
|
initCenterText();
|
||||||
initPowerupBox();
|
initPowerupBox();
|
||||||
initTexts();
|
initTexts();
|
||||||
|
|
||||||
|
playGuiCtrl.render(scene2d);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function initTimer() {
|
public function initTimer() {
|
||||||
var screenWidth = scene2d.width;
|
var timerCtrl = new GuiControl();
|
||||||
var screenHeight = scene2d.height;
|
timerCtrl.horizSizing = HorizSizing.Center;
|
||||||
|
timerCtrl.position = new Vector(215, 1);
|
||||||
|
timerCtrl.extent = new Vector(234, 58);
|
||||||
|
|
||||||
function toScreenSpaceX(x:Float) {
|
timerNumbers[0].position = new Vector(23, 0);
|
||||||
return screenWidth / 2 - (234 / 2) + x;
|
timerNumbers[0].extent = new Vector(43, 55);
|
||||||
}
|
|
||||||
function toScreenSpaceY(y:Float) {
|
|
||||||
return (y / 480) * screenHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
timerNumbers[0].x = toScreenSpaceX(23);
|
timerNumbers[1].position = new Vector(47, 0);
|
||||||
timerNumbers[1].x = toScreenSpaceX(47);
|
timerNumbers[1].extent = new Vector(43, 55);
|
||||||
timerColon.x = toScreenSpaceX(67);
|
|
||||||
timerNumbers[2].x = toScreenSpaceX(83);
|
timerColon = new GuiImage(ResourceLoader.getImage('data/ui/game/numbers/colon.png').toTile());
|
||||||
timerNumbers[3].x = toScreenSpaceX(107);
|
timerColon.position = new Vector(67, 0);
|
||||||
timerPoint.x = toScreenSpaceX(127);
|
timerColon.extent = new Vector(43, 55);
|
||||||
timerNumbers[4].x = toScreenSpaceX(143);
|
|
||||||
timerNumbers[5].x = toScreenSpaceX(167);
|
timerNumbers[2].position = new Vector(83, 0);
|
||||||
timerNumbers[6].x = toScreenSpaceX(191);
|
timerNumbers[2].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
timerNumbers[3].position = new Vector(107, 0);
|
||||||
|
timerNumbers[3].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
timerPoint = new GuiImage(ResourceLoader.getImage('data/ui/game/numbers/point.png').toTile());
|
||||||
|
timerPoint.position = new Vector(127, 0);
|
||||||
|
timerPoint.extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
timerNumbers[4].position = new Vector(143, 0);
|
||||||
|
timerNumbers[4].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
timerNumbers[5].position = new Vector(167, 0);
|
||||||
|
timerNumbers[5].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
timerNumbers[6].position = new Vector(191, 0);
|
||||||
|
timerNumbers[6].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
timerCtrl.addChild(timerNumbers[0]);
|
||||||
|
timerCtrl.addChild(timerNumbers[1]);
|
||||||
|
timerCtrl.addChild(timerColon);
|
||||||
|
timerCtrl.addChild(timerNumbers[2]);
|
||||||
|
timerCtrl.addChild(timerNumbers[3]);
|
||||||
|
timerCtrl.addChild(timerPoint);
|
||||||
|
timerCtrl.addChild(timerNumbers[4]);
|
||||||
|
timerCtrl.addChild(timerNumbers[5]);
|
||||||
|
timerCtrl.addChild(timerNumbers[6]);
|
||||||
|
|
||||||
|
playGuiCtrl.addChild(timerCtrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function initCenterText() {
|
public function initCenterText() {
|
||||||
|
|
@ -132,11 +166,27 @@ class PlayGui {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function initGemCounter() {
|
public function initGemCounter() {
|
||||||
gemCountNumbers[0].x = 30;
|
gemCountNumbers[0].position = new Vector(30, 0);
|
||||||
gemCountNumbers[1].x = 54;
|
gemCountNumbers[0].extent = new Vector(43, 55);
|
||||||
gemCountSlash.x = 75;
|
|
||||||
gemCountNumbers[2].x = 96;
|
gemCountNumbers[1].position = new Vector(54, 0);
|
||||||
gemCountNumbers[3].x = 120;
|
gemCountNumbers[1].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
gemCountSlash = new GuiImage(ResourceLoader.getImage('data/ui/game/numbers/slash.png').toTile());
|
||||||
|
gemCountSlash.position = new Vector(75, 0);
|
||||||
|
gemCountSlash.extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
gemCountNumbers[2].position = new Vector(96, 0);
|
||||||
|
gemCountNumbers[2].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
gemCountNumbers[3].position = new Vector(120, 0);
|
||||||
|
gemCountNumbers[3].extent = new Vector(43, 55);
|
||||||
|
|
||||||
|
playGuiCtrl.addChild(gemCountNumbers[0]);
|
||||||
|
playGuiCtrl.addChild(gemCountNumbers[1]);
|
||||||
|
playGuiCtrl.addChild(gemCountSlash);
|
||||||
|
playGuiCtrl.addChild(gemCountNumbers[2]);
|
||||||
|
playGuiCtrl.addChild(gemCountNumbers[3]);
|
||||||
|
|
||||||
this.gemImageScene = new h3d.scene.Scene();
|
this.gemImageScene = new h3d.scene.Scene();
|
||||||
var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.pbr.Renderer);
|
var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.pbr.Renderer);
|
||||||
|
|
@ -168,8 +218,11 @@ class PlayGui {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initPowerupBox() {
|
function initPowerupBox() {
|
||||||
powerupBox.x = scene2d.width - 102;
|
powerupBox.position = new Vector(538, 6);
|
||||||
powerupBox.y = 6;
|
powerupBox.extent = new Vector(97, 96);
|
||||||
|
powerupBox.horizSizing = Left;
|
||||||
|
|
||||||
|
playGuiCtrl.addChild(powerupBox);
|
||||||
|
|
||||||
this.powerupImageScene = new h3d.scene.Scene();
|
this.powerupImageScene = new h3d.scene.Scene();
|
||||||
var powerupImageRenderer = cast(this.powerupImageScene.renderer, h3d.scene.pbr.Renderer);
|
var powerupImageRenderer = cast(this.powerupImageScene.renderer, h3d.scene.pbr.Renderer);
|
||||||
|
|
@ -187,57 +240,89 @@ class PlayGui {
|
||||||
var fontdata = ResourceLoader.loader.load("data/font/DomCasual32px.fnt");
|
var fontdata = ResourceLoader.loader.load("data/font/DomCasual32px.fnt");
|
||||||
var bfont = new BitmapFont(fontdata.entry);
|
var bfont = new BitmapFont(fontdata.entry);
|
||||||
@:privateAccess bfont.loader = ResourceLoader.loader;
|
@:privateAccess bfont.loader = ResourceLoader.loader;
|
||||||
helpTextBackground = new Text(bfont.toFont(), scene2d);
|
|
||||||
helpTextBackground.text = "Bruh";
|
|
||||||
helpTextBackground.x = scene2d.width / 2 - helpTextBackground.textWidth / 2 + 1;
|
|
||||||
helpTextBackground.y = scene2d.height * 0.45 + 1;
|
|
||||||
helpTextBackground.textColor = 0x000000;
|
|
||||||
|
|
||||||
helpTextForeground = new Text(bfont.toFont(), scene2d);
|
var helpTextCtrl = new GuiControl();
|
||||||
helpTextForeground.text = "Bruh";
|
helpTextCtrl.position = new Vector(0, 210);
|
||||||
helpTextForeground.x = scene2d.width / 2 - helpTextForeground.textWidth / 2;
|
helpTextCtrl.extent = new Vector(640, 60);
|
||||||
helpTextForeground.y = scene2d.height * 0.45;
|
helpTextCtrl.vertSizing = Center;
|
||||||
helpTextForeground.textColor = 0xFFFFFF;
|
helpTextCtrl.horizSizing = Width;
|
||||||
|
|
||||||
alertTextBackground = new Text(bfont.toFont(), scene2d);
|
helpTextBackground = new GuiText(bfont);
|
||||||
alertTextBackground.text = "Bruh";
|
helpTextBackground.text.textColor = 0x000000;
|
||||||
alertTextBackground.x = scene2d.width / 2 - alertTextBackground.textWidth / 2 + 1;
|
helpTextBackground.position = new Vector(1, 1);
|
||||||
alertTextBackground.y = scene2d.height - 102 + 1;
|
helpTextBackground.extent = new Vector(640, 14);
|
||||||
alertTextBackground.textColor = 0x000000;
|
helpTextBackground.vertSizing = Height;
|
||||||
|
helpTextBackground.horizSizing = Width;
|
||||||
|
helpTextBackground.justify = Center;
|
||||||
|
|
||||||
alertTextForeground = new Text(bfont.toFont(), scene2d);
|
helpTextForeground = new GuiText(bfont);
|
||||||
alertTextForeground.text = "Bruh";
|
helpTextForeground.text.textColor = 0xFFFFFF;
|
||||||
alertTextForeground.x = scene2d.width / 2 - alertTextForeground.textWidth / 2;
|
helpTextForeground.position = new Vector(0, 0);
|
||||||
alertTextForeground.y = scene2d.height - 102;
|
helpTextForeground.extent = new Vector(640, 16);
|
||||||
alertTextForeground.textColor = 0xFFE240;
|
helpTextForeground.vertSizing = Height;
|
||||||
|
helpTextForeground.horizSizing = Width;
|
||||||
|
helpTextForeground.justify = Center;
|
||||||
|
|
||||||
|
helpTextCtrl.addChild(helpTextBackground);
|
||||||
|
helpTextCtrl.addChild(helpTextForeground);
|
||||||
|
|
||||||
|
var alertTextCtrl = new GuiControl();
|
||||||
|
alertTextCtrl.position = new Vector(0, 378);
|
||||||
|
alertTextCtrl.extent = new Vector(640, 98);
|
||||||
|
alertTextCtrl.vertSizing = Top;
|
||||||
|
alertTextCtrl.horizSizing = Width;
|
||||||
|
|
||||||
|
alertTextBackground = new GuiText(bfont);
|
||||||
|
alertTextBackground.text.textColor = 0x000000;
|
||||||
|
alertTextBackground.position = new Vector(1, 1);
|
||||||
|
alertTextBackground.extent = new Vector(640, 32);
|
||||||
|
alertTextBackground.vertSizing = Height;
|
||||||
|
alertTextBackground.horizSizing = Width;
|
||||||
|
alertTextBackground.justify = Center;
|
||||||
|
|
||||||
|
alertTextForeground = new GuiText(bfont);
|
||||||
|
alertTextForeground.text.textColor = 0xFFE240;
|
||||||
|
alertTextForeground.position = new Vector(0, 0);
|
||||||
|
alertTextForeground.extent = new Vector(640, 32);
|
||||||
|
alertTextForeground.vertSizing = Height;
|
||||||
|
alertTextForeground.horizSizing = Width;
|
||||||
|
alertTextForeground.justify = Center;
|
||||||
|
|
||||||
|
alertTextCtrl.addChild(alertTextBackground);
|
||||||
|
alertTextCtrl.addChild(alertTextForeground);
|
||||||
|
|
||||||
|
playGuiCtrl.addChild(helpTextCtrl);
|
||||||
|
playGuiCtrl.addChild(alertTextCtrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setHelpTextOpacity(value:Float) {
|
public function setHelpTextOpacity(value:Float) {
|
||||||
helpTextForeground.color.a = value;
|
helpTextForeground.text.color.a = value;
|
||||||
helpTextBackground.color.a = value;
|
helpTextBackground.text.color.a = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setAlertTextOpacity(value:Float) {
|
public function setAlertTextOpacity(value:Float) {
|
||||||
alertTextForeground.color.a = value;
|
alertTextForeground.text.color.a = value;
|
||||||
alertTextBackground.color.a = value;
|
alertTextBackground.text.color.a = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setAlertText(text:String) {
|
public function setAlertText(text:String) {
|
||||||
this.alertTextForeground.text = text;
|
this.alertTextForeground.text.text = text;
|
||||||
this.alertTextBackground.text = text;
|
this.alertTextBackground.text.text = text;
|
||||||
alertTextForeground.x = scene2d.width / 2 - alertTextForeground.textWidth / 2;
|
alertTextBackground.render(scene2d);
|
||||||
alertTextForeground.y = scene2d.height - 102;
|
// alertTextForeground.x = scene2d.width / 2 - alertTextForeground.textWidth / 2;
|
||||||
alertTextBackground.x = scene2d.width / 2 - alertTextBackground.textWidth / 2 + 1;
|
// alertTextForeground.y = scene2d.height - 102;
|
||||||
alertTextBackground.y = scene2d.height - 102 + 1;
|
// alertTextBackground.x = scene2d.width / 2 - alertTextBackground.textWidth / 2 + 1;
|
||||||
|
// alertTextBackground.y = scene2d.height - 102 + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setHelpText(text:String) {
|
public function setHelpText(text:String) {
|
||||||
this.helpTextForeground.text = text;
|
this.helpTextForeground.text.text = text;
|
||||||
this.helpTextBackground.text = text;
|
this.helpTextBackground.text.text = text;
|
||||||
helpTextForeground.x = scene2d.width / 2 - helpTextForeground.textWidth / 2;
|
helpTextBackground.render(scene2d);
|
||||||
helpTextForeground.y = scene2d.height * 0.45;
|
// helpTextForeground.x = scene2d.width / 2 - helpTextForeground.textWidth / 2;
|
||||||
helpTextBackground.x = scene2d.width / 2 - helpTextBackground.textWidth / 2 + 1;
|
// helpTextForeground.y = scene2d.height * 0.45;
|
||||||
helpTextBackground.y = scene2d.height * 0.45 + 1;
|
// helpTextBackground.x = scene2d.width / 2 - helpTextBackground.textWidth / 2 + 1;
|
||||||
|
// helpTextBackground.y = scene2d.height * 0.45 + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPowerupImage(powerupIdentifier:String) {
|
public function setPowerupImage(powerupIdentifier:String) {
|
||||||
|
|
@ -281,15 +366,15 @@ class PlayGui {
|
||||||
public function formatGemCounter(collected:Int, total:Int) {
|
public function formatGemCounter(collected:Int, total:Int) {
|
||||||
if (total == 0) {
|
if (total == 0) {
|
||||||
for (number in gemCountNumbers) {
|
for (number in gemCountNumbers) {
|
||||||
number.visible = false;
|
number.anim.visible = false;
|
||||||
}
|
}
|
||||||
gemCountSlash.visible = false;
|
gemCountSlash.bmp.visible = false;
|
||||||
gemImageSceneTargetBitmap.visible = false;
|
gemImageSceneTargetBitmap.visible = false;
|
||||||
} else {
|
} else {
|
||||||
for (number in gemCountNumbers) {
|
for (number in gemCountNumbers) {
|
||||||
number.visible = true;
|
number.anim.visible = true;
|
||||||
}
|
}
|
||||||
gemCountSlash.visible = true;
|
gemCountSlash.bmp.visible = true;
|
||||||
gemImageSceneTargetBitmap.visible = true;
|
gemImageSceneTargetBitmap.visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -299,10 +384,10 @@ class PlayGui {
|
||||||
var collectedTenths = Math.floor(collected / 10);
|
var collectedTenths = Math.floor(collected / 10);
|
||||||
var collectedOnes = collected % 10;
|
var collectedOnes = collected % 10;
|
||||||
|
|
||||||
gemCountNumbers[0].currentFrame = collectedTenths;
|
gemCountNumbers[0].anim.currentFrame = collectedTenths;
|
||||||
gemCountNumbers[1].currentFrame = collectedOnes;
|
gemCountNumbers[1].anim.currentFrame = collectedOnes;
|
||||||
gemCountNumbers[2].currentFrame = totalTenths;
|
gemCountNumbers[2].anim.currentFrame = totalTenths;
|
||||||
gemCountNumbers[3].currentFrame = totalOnes;
|
gemCountNumbers[3].anim.currentFrame = totalOnes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function formatTimer(time:Float) {
|
public function formatTimer(time:Float) {
|
||||||
|
|
@ -320,13 +405,13 @@ class PlayGui {
|
||||||
var hundredthOne = hundredth % 10;
|
var hundredthOne = hundredth % 10;
|
||||||
var hundredthTen = (hundredth - hundredthOne) / 10;
|
var hundredthTen = (hundredth - hundredthOne) / 10;
|
||||||
|
|
||||||
timerNumbers[0].currentFrame = minutesTen;
|
timerNumbers[0].anim.currentFrame = minutesTen;
|
||||||
timerNumbers[1].currentFrame = minutesOne;
|
timerNumbers[1].anim.currentFrame = minutesOne;
|
||||||
timerNumbers[2].currentFrame = secondsTen;
|
timerNumbers[2].anim.currentFrame = secondsTen;
|
||||||
timerNumbers[3].currentFrame = secondsOne;
|
timerNumbers[3].anim.currentFrame = secondsOne;
|
||||||
timerNumbers[4].currentFrame = hundredthTen;
|
timerNumbers[4].anim.currentFrame = hundredthTen;
|
||||||
timerNumbers[5].currentFrame = hundredthOne;
|
timerNumbers[5].anim.currentFrame = hundredthOne;
|
||||||
timerNumbers[6].currentFrame = thousandth;
|
timerNumbers[6].anim.currentFrame = thousandth;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function render(engine:h3d.Engine) {
|
public function render(engine:h3d.Engine) {
|
||||||
|
|
|
||||||
14
src/gui/Rect.hx
Normal file
14
src/gui/Rect.hx
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
package gui;
|
||||||
|
|
||||||
|
import h3d.Vector;
|
||||||
|
|
||||||
|
@:publicFields
|
||||||
|
class Rect {
|
||||||
|
var position:Vector;
|
||||||
|
var extent:Vector;
|
||||||
|
|
||||||
|
public function new(position:Vector, extent:Vector) {
|
||||||
|
this.position = position.clone();
|
||||||
|
this.extent = extent.clone();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue