Haxe和Haxeflixel

时间:2017-11-09 00:23:58

标签: haxe haxeflixel

我一直在使用haxe和haxeflixel进行编码,但是当我查看它的按钮API时,我看到有两种不同的类型。 http://api.haxeflixel.com/flixel/ui/FlxButton.htmlhttp://api.haxeflixel.com/flixel/ui/FlxTypedButton.html 当我在网上查看示例时,他们宣布按钮为

    var button:FlxButton = new FlxButton(50, 50, "Click here", OnClickButton);
    add(button);

但是typedbutton和button之间有什么区别? 什么"输入"前缀甚至意味着什么?

(此外,精灵按钮有什么特别之处。http://api.haxeflixel.com/flixel/ui/FlxSpriteButton.html

请,谢谢你。

1 个答案:

答案 0 :(得分:0)

仅仅从查看文档和来源,这就是我得到的:FlxButton是最简单的使用方法。因此,它经常被使用。您只需要一个字符串,一个位置和一个回调。它需要的输入量最少。

FlxTypedButton实际上是FlxButton的父类。它有许多FlxButton中存在的函数,但它也有type parameter

class FlxTypedButton<T:FlxSprite> extends FlxSprite implements IFlxInput
{
    /**
     * The label that appears on the button. Can be any `FlxSprite`.
     */
     public var label(default, set):T;

     // The rest of the class...
}

这意味着FlxTypedButton的标签可以具有任何类型的标签,constrained到从FlxSprite继承的对象/类。在FlxButton的情况下,这是一个FlxText对象。

FlxSpriteButtonFlxButton几乎相同,但它与FlxText绑定,而不是FlxSprite。它真正带给桌子的唯一独特之处是createTextLabel功能。我不知道为什么它是一个单独的课程。