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

m
(preparation work.)
 
Line 1: Line 1:
 +
{{newin (日本語)|[[0.3.2 (日本語)|0.3.2]]|032|type=関数}}
 
長方形を描画します。
 
長方形を描画します。
 
== 関数 ==
 
== 関数 ==
 
=== 概要 ===
 
=== 概要 ===
 
<source lang="lua">
 
<source lang="lua">
love.graphics.rectangle( mode, x, y, width, height )
+
love.graphics.rectangle( mode, x, y, width, height, rx, ry, segments )
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
Line 11: Line 12:
 
{{param|number|width|長方形の幅。}}
 
{{param|number|width|長方形の幅。}}
 
{{param|number|height|長方形の高さ。}}
 
{{param|number|height|長方形の高さ。}}
 
+
{{New feature (日本語)|0.10.0|
 +
{{param|number|rx (nil)|x-軸によるそれぞれの丸角の半径。長方形を半分にした幅よりも大きくできません。}}
 +
{{param|number|ry (rx)|y-軸によるそれぞれの丸角の半径。長方形を半分にした高さより大きくできません。}}
 +
{{param|number|segments (nil)|丸角を描画するために使用される線分の数。数値未指定時はデフォルト値が選択されます。}}
 +
|100}}
 
=== 返値 ===
 
=== 返値 ===
 
ありません。
 
ありません。
  
== 関数 ==
+
== 注釈 ==
{{newin (日本語)|[[0.10.0]]|100|type=異形}}
+
Custom shaders which use texture coordinates will not work correctly with love.graphics.rectangle (or other shape-drawing functions), since primitive shapes don't have UV texture coordinates associated with the shape's vertex positions.
長方形を丸角で描画します。
+
 
=== 概要 ===
+
== 用例 ==  
 +
 
 +
=== 座標 20,50 に 幅 60 および 高さ 120 の長方形を描画 ===
 
<source lang="lua">
 
<source lang="lua">
love.graphics.rectangle( mode, x, y, width, height, rx, ry, segments )
+
function love.draw()
 +
love.graphics.rectangle("fill", 20,50, 60,120)
 +
end
 
</source>
 
</source>
=== 引数 ===
 
{{param|DrawMode|mode|長方形の描画方法。}}
 
{{param|number|x|左上角から見た x-軸の座標。}}
 
{{param|number|y|左上角から見た y-軸の座標。}}
 
{{param|number|width|長方形の幅。}}
 
{{param|number|height|長方形の高さ。}}
 
{{param|number|rx|x-軸によるそれぞれの丸角の半径。長方形の幅の半分より大きくできません。}}
 
{{param|number|ry (rx)|y-軸によるそれぞれの丸角の半径。長方形の幅の半分より大きくできません。}}
 
{{param|number|segments (nil)|丸角を描画するために使用される線分の数。数値未指定時はデフォルト値が選択されます。}}
 
=== 返値 ===
 
ありません。
 
  
== 用例 ==
+
=== 長方形を回転させながら描画 ===
=== 座標 20,50 に 幅 60 および 高さ 120 の長方形を描画します。 ===
 
 
<source lang="lua">
 
<source lang="lua">
 +
function drawRotatedRectangle(mode, x, y, width, height, angle)
 +
-- 長方形は直接回転できませんが、
 +
-- 座標系の移動と回転は可能です。
 +
love.graphics.push()
 +
love.graphics.translate(x, y)
 +
love.graphics.rotate(angle)
 +
love.graphics.rectangle(mode, 0, 0, width, height) -- 左上角の原点
 +
-- love.graphics.rectangle(mode, -width/2, -height/2, width, height) -- 中央の原点
 +
love.graphics.pop()
 +
end
 +
 +
local angle = 0
 +
function love.update(dt)
 +
angle = angle + dt * 1 -- 1 ラジアン (弧度) ずつ毎秒回転します。
 +
end
 +
 
function love.draw()
 
function love.draw()
    love.graphics.rectangle("fill", 20, 50, 60, 120 )
+
drawRotatedRectangle("fill", 150,150, 100,60, angle)
 
end
 
end
 
</source>
 
</source>
Line 44: Line 57:
 
== 関連 ==
 
== 関連 ==
 
* [[parent::love.graphics (日本語)]]
 
* [[parent::love.graphics (日本語)]]
 +
* [[love.graphics.polygon (日本語)]]
 +
* [[love.graphics.draw (日本語)]]
 
[[Category:Functions]]
 
[[Category:Functions]]
 
[[Sub-Category::Drawing (日本語)| ]]
 
[[Sub-Category::Drawing (日本語)| ]]
Line 50: Line 65:
 
{{#set:PrettySince=[[0.3.2]]}}
 
{{#set:PrettySince=[[0.3.2]]}}
 
== そのほかの言語 ==
 
== そのほかの言語 ==
{{i18n|love.graphics.rectangle}}
+
{{i18n (日本語)|love.graphics.rectangle}}

Latest revision as of 17:00, 17 July 2023

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

長方形を描画します。

関数

概要

love.graphics.rectangle( mode, x, y, width, height, rx, ry, segments )

引数

DrawMode mode
長方形の描画方法。
number x
左上角から見た x-軸の座標。
number y
左上角から見た y-軸の座標。
number width
長方形の幅。
number height
長方形の高さ。
LÖVE 0.10.0 から利用可能
number rx (nil)
x-軸によるそれぞれの丸角の半径。長方形を半分にした幅よりも大きくできません。
number ry (rx)
y-軸によるそれぞれの丸角の半径。長方形を半分にした高さより大きくできません。
number segments (nil)
丸角を描画するために使用される線分の数。数値未指定時はデフォルト値が選択されます。

返値

ありません。

注釈

Custom shaders which use texture coordinates will not work correctly with love.graphics.rectangle (or other shape-drawing functions), since primitive shapes don't have UV texture coordinates associated with the shape's vertex positions.

用例

座標 20,50 に 幅 60 および 高さ 120 の長方形を描画

function love.draw()
	love.graphics.rectangle("fill", 20,50, 60,120)
end

長方形を回転させながら描画

function drawRotatedRectangle(mode, x, y, width, height, angle)
	-- 長方形は直接回転できませんが、
	-- 座標系の移動と回転は可能です。
	love.graphics.push()
	love.graphics.translate(x, y)
	love.graphics.rotate(angle)
	love.graphics.rectangle(mode, 0, 0, width, height) -- 左上角の原点
--	love.graphics.rectangle(mode, -width/2, -height/2, width, height) -- 中央の原点
	love.graphics.pop()
end

local angle = 0
function love.update(dt)
	angle = angle + dt * 1 -- 1 ラジアン (弧度) ずつ毎秒回転します。
end

function love.draw()
	drawRotatedRectangle("fill", 150,150, 100,60, angle)
end

関連



そのほかの言語