0

flashpunk の draw クラスの使い方がよくわかりません。私が描いた円が消えることを除いて、すべてうまくいきます。

package assets {

import net.flashpunk.Entity;
import net.flashpunk.graphics.Image;
import net.flashpunk.FP;
import net.flashpunk.utils.Draw;

public class PlayerBrokenHUD extends Entity 
{

    [Embed(source = "graphics/SpaceShipHudbroken.png")] private const BHUD : Class;

    public function PlayerBrokenHUD() 
    {

        graphic = new Image(BHUD);
        graphic.scrollX = graphic.scrollY = 0;
        y = FP.screen.height - 70;

        Draw.circle(100, 100, 100, 0xD5BB5C);

    }
}
}

すべてのコードが正常に動作し、グラフィックと同様に円が表示されます。ただし、最初のフレームの後に円は消えます。他のスクリプトやプロジェクトで Draw クラスを試しましたが、同じ結果が得られます。更新機能で試してみましたが、それでも同じ結果が得られます。

4

1 に答える 1

2

エンティティの render メソッドをオーバーライドする必要があります。Draw.circle() はフレームごとに呼び出されます。レイヤー値に従って描画されることに注意してください。したがって、HUD の場合、そのレイヤーは非常に小さいか、または負でさえある必要があります。

override public function render():void 
{
    Draw.circle(100, 100, 100, 0xD5BB5C); // draw circle
    super.render(); // paste sprite from graphics
}
于 2014-01-03T10:26:45.033 に答える