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}} | ||
=== 返値 === | === 返値 === | ||
ありません。 | ありません。 | ||
− | == | + | == 注釈 == |
− | + | 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( | + | function love.draw() |
+ | love.graphics.rectangle("fill", 20,50, 60,120) | ||
+ | end | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | === 長方形を回転させながら描画 === |
− | |||
<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() | ||
− | + | 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 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
長方形を描画します。
Contents
関数
概要
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 から利用可能
返値
ありません。
注釈
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
関連