为什么此标签不在Haxepunk中显示



我开始学习haxepunk,我已经在他们的网站上浏览了基本教程。因此,现在我试图找出如何在屏幕上添加某种标签。我注意到,似乎是他们唯一的名为" Label"的唯一开箱即用的类,就像一个调试工具,不是您真正想要的产品,因此我搜索并找到了有关在Flashpunk中制作标签的链接:http://flashgamedojo.com/wiki/index.php?title=text_(flashpunk)

本质上,它只是将非常基本的文本对象分配给实体的图形属性。因此,这是我的代码,它是从教程代码中脱颖而出的:

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));
    }

免责声明:

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();
    }
}

免责声明出了什么问题?谢谢。

该代码似乎对我有用

我正在使用OpenFL版本1.2.1和Haxepunk 2.4.5,并使用haxelib run haxepunk new test

创建的新项目

我在html5,flash和neko中尝试过,并且在所有这些方面都起作用。

尝试查看问题是否与OpenFL/haxepunk的版本有关,这可能是已修复的错误

我假设您也在gamescene.hx中导入了类?通过添加:

import entities.Disclaimer;

您的GameScene定义上方?

相关内容

  • 没有找到相关文章

最新更新