Difference between revisions of "love.graphics.push (日本語)"

(Created page with "現在の座標変換を変換スタックへコピーおよび待避します。 この関数はその後に対応する復帰操作の準...")
 
m (Translation updated.)
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
== 関数 ==
 
== 関数 ==
 
変換スタックへ現在の変換を待避します。
 
変換スタックへ現在の変換を待避します。
=== 概要 ===
 
<source lang="lua">
 
love.graphics.push( )
 
</source>
 
=== 引数 ===
 
なし。
 
=== 返値 ===
 
ありません。
 
 
== 関数 ==
 
{{newin (日本語)|[[0.9.2]]|092|type=異形}}
 
スタックへ特定の種類における状態を待避します。
 
 
=== 概要 ===
 
=== 概要 ===
 
<source lang="lua">
 
<source lang="lua">
Line 22: Line 10:
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
 +
{{New feature (日本語)|0.9.2|
 
{{param|StackType|stack|待避を行うスタックの種類 (例えば単純な変換状態、または love.graphics の全状態)。}}
 
{{param|StackType|stack|待避を行うスタックの種類 (例えば単純な変換状態、または love.graphics の全状態)。}}
 +
|092}}
 +
 
=== 返値 ===
 
=== 返値 ===
 
ありません。
 
ありません。
Line 45: Line 36:
 
     love.graphics.push("all") -- どのような変更でも復元可能にするために love.graphics の状態を全て保存します。
 
     love.graphics.push("all") -- どのような変更でも復元可能にするために love.graphics の状態を全て保存します。
  
     love.graphics.setColor(0, 0, 255)
+
     love.graphics.setColor(0, 0, 1)
     love.graphics.setBlendMode("subtractive")
+
     love.graphics.setBlendMode("subtract")
  
 
     love.graphics.circle("fill", 400, 300, 80)
 
     love.graphics.circle("fill", 400, 300, 80)
Line 54: Line 45:
  
 
function love.draw()
 
function love.draw()
     love.graphics.setColor(255, 128, 128)
+
     love.graphics.setColor(1, 0.5, 0.5)
 
     love.graphics.circle("fill", 400, 300, 100)
 
     love.graphics.circle("fill", 400, 300, 100)
  

Latest revision as of 01:44, 15 July 2023

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

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

関数

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

概要

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

関連


そのほかの言語