love.graphics.push (日本語)

現在の座標変換を変換スタックへコピーおよび待避します。

この関数はその後に対応する復帰操作の準備をするために常に使用されます。これは変換スタックへ現在の座標状態を格納して保持したままにしておきます。変換による変更後は復帰操作を使用することにより元に戻すことができ、待避操作を呼び出す前の座標変換の状態へ復帰します。

関数

変換スタックへ現在の変換を待避します。

概要

love.graphics.push( stack )

引数

LÖVE 0.9.2 から利用可能
StackType stack
待避を行うスタックの種類 (例えば単純な変換状態、または love.graphics の全状態)。


返値

ありません。

用例

座標系の変更および復元を行います。

function love.draw()
    love.graphics.push() -- 標準の座標系を格納します
    love.graphics.translate(...) -- カメラの位置を移動します
    love.graphics.scale(...) -- カメラの倍率を拡大・縮小します
    -- 場面の外観を描画するために新しい座標系を使用します
    love.graphics.pop() -- 標準の座標系へ復帰します
    -- 画面座標を使用して状態表示を描画します
end

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

関数にある love.graphics の状態を変更してから、別のコードにより妨害されないようにするための簡単な復元します。

function DrawCoolThing()
    love.graphics.push("all") -- どのような変更でも復元可能にするために love.graphics の状態を全て保存します。

    love.graphics.setColor(0, 0, 1)
    love.graphics.setBlendMode("subtract")

    love.graphics.circle("fill", 400, 300, 80)

    love.graphics.pop() -- 保存された love.graphics の状態を復元します。
end

function love.draw()
    love.graphics.setColor(1, 0.5, 0.5)
    love.graphics.circle("fill", 400, 300, 100)

    DrawCoolThing()

    love.graphics.rectangle("fill", 600, 200, 200, 200) -- love.draw の上部で設定されたままの配色を使用します。
end

関連


そのほかの言語