I'm starting to learn HaxePunk, and I've gone through the basic tutorials on their website. So now I was trying to find out how to add a label of some sort onto the screen. I noticed that what appears to be their only out-of-the-box class named "Label" looks like just a debugging tool, not really something you would want in production so I searched and found this link about making a label in FlashPunk: http://flashgamedojo.com/wiki/index.php?title=Text_%28FlashPunk%29
Essentially it's just assigning a very basic Text object to the graphic property of an entity. So here's my code now, which is branced off of tutorial code:
GameScene.hx:
class GameScene extends Scene
{
public function new()
{
super();
}
public override function begin()
{
//add(new Block(30, 50));
//add(new Player(100, 100));
//add(new Ship(200, 200));
//spawn();
add(new Disclaimer(200, 200));
}
Disclaimer.hx:
package graphics;
import com.haxepunk.Entity;
import com.haxepunk.graphics.Text;
class Disclaimer extends Entity
{
public function new(x:Float, y:Float)
{
super(x, y);
var lbl = new Text("This is a disclaimer.");
//lbl.color = 0xFFFFFF;
graphic = lbl;
}
}
I see nothing added to the screen. When I try to uncomment the line in GameScene.hx about adding a new Block though, I'm able to see a Block get added:
Block.hx:
package entities;
import com.haxepunk.Entity;
import com.haxepunk.graphics.Image;
import com.haxepunk.utils.Input;
import com.haxepunk.utils.Key;
class Block extends Entity
{
public function new(x:Int, y:Int)
{
super(x, y);
graphic = new Image("graphics/block.png");
}
public override function update()
{
if (Input.check(Key.LEFT))
{
moveBy(-2, 0);
}
if (Input.check(Key.RIGHT))
{
moveBy(2, 0);
}
super.update();
}
}
What's wrong with Disclaimer.hx? Thanks.
That code seems to work for me
I'm using openfl version 1.2.1 and haxepunk 2.4.5 with a new project created with
haxelib run haxepunk new testI tried in html5, flash and neko and it worked in all of them.
Try to see if the problem is related to the versions of openfl/haxepunk it may be a bug that's already been fixed