2017-11-09 10 views
1

입니다. 저는 haxe와 haxeflixel으로 코딩 했었 습니다만, 버튼에 대한 API를 보면 두 가지 유형이 있다는 것을 알았습니다. 나는 온라인의 예를 볼 때 http://api.haxeflixel.com/flixel/ui/FlxButton.htmlhttp://api.haxeflixel.com/flixel/ui/FlxTypedButton.html , 그들은FlxTypedButton <T>과 FlaxButton의 차이점은 Haxe와 Haxeflixel

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

하지만 같은 버튼을 선언 typedbutton 버튼의 차이점은 무엇입니까? "타이프"접두사는 무엇을 의미합니까?

주시고 감사합니다 (또한, 무엇을. 스프라이트 버튼에 대한 특별 http://api.haxeflixel.com/flixel/ui/FlxSpriteButton.html).

답변

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 기능입니다. 나는 그것이 왜 별개의 클래스인지에 관해 모른다.