我一直在使用haxe和haxeflixel进行编码,但是当我查看它的按钮API时,我看到有两种不同的类型。 http://api.haxeflixel.com/flixel/ui/FlxButton.html,http://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)
请,谢谢你。
答案 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
对象。
FlxSpriteButton
与FlxButton
几乎相同,但它与FlxText
绑定,而不是FlxSprite
。它真正带给桌子的唯一独特之处是createTextLabel
功能。我不知道为什么它是一个单独的课程。