我开始学习HaxePunk了,我已经在他们的网站上看过了基本的教程。所以现在我想知道如何在屏幕上添加某种类型的标签。我注意到他们唯一的名为" label“的开箱即用类看起来就像是一个调试工具,而不是您希望在生产中使用的工具,所以我搜索并找到了这个关于在FlashPunk中制作标签的链接:http://flashgamedojo.com/wiki/index.php?title=Text_%28FlashPunk%29
本质上,它只是将一个非常基本的文本对象分配给一个实体的图形属性。下面是我的代码,它是从教程代码中去掉的:
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;
}
}我在屏幕上看不到任何新的东西。但是,当我尝试取消注释GameScene.hx中关于添加新块的行时,我能够看到添加了一个块:
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();
}
}Disclaimer.hx有什么问题?谢谢。
发布于 2014-01-26 07:49:57
这段代码似乎对我很有效。
我正在使用openfl版本1.2.1和haxepunk 2.4.5,其中包含一个用haxelib run haxepunk new test创建的新项目
我在html5,flash和neko上都试过了,它们都能用。
尝试查看该问题是否与openfl/haxepunk的版本有关它可能是一个已经修复的错误
发布于 2014-03-04 17:39:43
我假设您也已经在GameScene.hx中导入了这个类?通过添加:
import entities.Disclaimer;高于你的GameScene定义?
https://stackoverflow.com/questions/21357432
复制相似问题