SpriteBatch:flush (日本語)

LÖVE 0.9.2 から使用可能
この関数は以前のバージョンでは非対応です。


バッチ内にある新規変更されたデータを直接的にグラフィックス・カードへ全て送信します。

通常は本メソッドを love.graphics.draw(spritebatch, ...) として呼び出すことは不要であり必要になれば自動的に呼ばれますが、明示的に SpriteBatch:flush を使用することにより発生するかに対して多くの制御を与えます。

このメソッドが使用された場合は、一般に love.graphics.draw(spritebatch, ...) 呼び出しの間に一回(最大量)だけでありそれ以上呼ばれるべきではありません。

関数

概要

SpriteBatch:flush( )

引数

なし。

返値

ありません。

用例

スプライトにある静的スプライトバッチを初期化してから直接的にグラフィックスカードへデータを送信します。

function love.load()
    image = love.graphics.newImage("tile.png")
    spritebatch = love.graphics.newSpriteBatch(image, 20 * 20, "static")

    for y = 1, 20 do
        for x = 1, 20 do
            spritebatch:add((x - 1) * 64, (y - 1) * 64)
        end
    end

    -- ここで SpriteBatch:flush を呼び出すと SpriteBatch の初回描画時には内部では呼ばれません。
    -- 言い換えると、最初の love.draw ではなく love.load にて作業を行うことを選択します。
    spritebatch:flush()
end

function love.draw()
    love.graphics.draw(spritebatch, 0, 0)
end

関連


そのほかの言語