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

(Created page with "Quad の新規作成。 {{newobjectnotice (日本語)}} == 関数 == === 概要 === <source lang="lua"> quad = love.graphics.newQuad( x, y, width, height,...")
 
m
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Quad (日本語)|Quad]] の新規作成。
 
[[Quad (日本語)|Quad]] の新規作成。
 +
 +
Quad の用途は画像全体ではなく、部品化した画像をオブジェクトとして描画することです。そのため Quad はスプライト・シートやテクスチャ・アトラスにおいて非常に便利です。
 +
 +
例えば、スプライト・アトラスにおいて、同一画像内に複数のスプライトがあるときに Quad を用いると、画像から指定のスプライトを描画します。
 +
 +
また、アニメーション描画用のスプライトにおいて、同一画像内に全コマ(フレーム)があるときに Quad を用いると、アニメーションから指定のフレームを描画します。
 +
 
{{newobjectnotice (日本語)}}
 
{{newobjectnotice (日本語)}}
 
== 関数 ==
 
== 関数 ==
Line 7: Line 14:
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
{{param|number|x|左上からの x-軸座標。}}
+
{{param|number|x|[[Image (日本語)|Image]] における左上からの x-軸座標}}
{{param|number|y|左上からの y-軸座標。}}
+
{{param|number|y|[[Image (日本語)|Image]] における左上からの y-軸座標}}
{{param|number|width|Quad の幅。 (必ず 0 以上にしてください)}}
+
{{param|number|width|[[Image (日本語)|Image]] における Quad の幅 (0 以上)}}
{{param|number|height|Quad の高さ。 (必ず 0 以上にしてください)}}
+
{{param|number|height|[[Image (日本語)|Image]] における Quad の高さ (0 以上)}}
{{param|number|sw|[[Image (日本語)|Image]] の幅であり、基準の幅です。 (必ず 0 以上にしてください)}}
+
{{param|number|sw|Quad の基準全幅となる [[Image (日本語)|Image]] の幅 (0 以上)}}
{{param|number|sh|[[Image (日本語)|Image]] の高さであり、基準の高さです。 (必ず 0 以上にしてください)}}
+
{{param|number|sh|Quad の基準全高となる [[Image (日本語)|Image]] の高さ (0 以上)}}
 +
 
 
=== 返値 ===
 
=== 返値 ===
 
{{param|Quad|quad|新規 Quad です。}}
 
{{param|Quad|quad|新規 Quad です。}}
=== 注釈 ===
 
Quad の目的は任意の描画可能なオブジェクトに対してオブジェクトの変換結果を記述することです。まずオブジェクトは sw × sh の寸法へ計測します。次に Quad として計測されたオブジェクトの内側にある左上の座標 (x, y) を矩形領域の width × height の寸法として記述します。
 
 
== 用例 ==
 
== 用例 ==
=== 画像の一部を表示するために Quad を使用します: ===
+
=== Quad により部品化した画像を表示します ===
 
<source lang="lua">
 
<source lang="lua">
 
img = love.graphics.newImage("mushroom-64x64.png")
 
img = love.graphics.newImage("mushroom-64x64.png")
  
-- 画像の左上 32x32 の四分区間のみを
+
-- 画像の左上にある寸法が 32x32px の Quad を
-- 表示したいとしましょう:
+
-- 表示します:
 
top_left = love.graphics.newQuad(0, 0, 32, 32, img:getDimensions())
 
top_left = love.graphics.newQuad(0, 0, 32, 32, img:getDimensions())
  
-- そして左下をこちらへ:
+
-- こちらは左下です:
 
bottom_left = love.graphics.newQuad(0, 32, 32, 32, img:getDimensions())
 
bottom_left = love.graphics.newQuad(0, 32, 32, 32, img:getDimensions())
  
Line 41: Line 47:
 
* [[parent::love.graphics (日本語)]]
 
* [[parent::love.graphics (日本語)]]
 
* [[Constructs::Quad (日本語)]]
 
* [[Constructs::Quad (日本語)]]
 +
* [https://love2d.org/forums/viewtopic.php?f=4&t=1208 love.graphics.newQuad's reference height and width - LÖVE]
 +
*[https://love2d.org/forums/viewtopic.php?t=78922 Drawing Quads - LÖVE]
 +
* [https://love2d.org/forums/viewtopic.php?t=78565 About love.graphics.newQuad(... sw, sh) - LÖVE]
 +
* [https://love2d.org/forums/viewtopic.php?p=229382 Quads have borders from neighbours (Tileset) - LÖVE]
 +
 
[[Category:Functions]]
 
[[Category:Functions]]
 
[[Sub-Category::Object Creation (日本語)| ]]
 
[[Sub-Category::Object Creation (日本語)| ]]
 
{{#set:Description=[[Quad (日本語)|Quad]] を新規作成します。}}
 
{{#set:Description=[[Quad (日本語)|Quad]] を新規作成します。}}
 
{{#set:Since=000}}
 
{{#set:Since=000}}
 +
 
== そのほかの言語 ==
 
== そのほかの言語 ==
 
{{i18n|love.graphics.newQuad}}
 
{{i18n|love.graphics.newQuad}}

Latest revision as of 04:59, 25 September 2019

Quad の新規作成。

Quad の用途は画像全体ではなく、部品化した画像をオブジェクトとして描画することです。そのため Quad はスプライト・シートやテクスチャ・アトラスにおいて非常に便利です。

例えば、スプライト・アトラスにおいて、同一画像内に複数のスプライトがあるときに Quad を用いると、画像から指定のスプライトを描画します。

また、アニメーション描画用のスプライトにおいて、同一画像内に全コマ(フレーム)があるときに Quad を用いると、アニメーションから指定のフレームを描画します。


O.png この関数は love.update または love.draw などから繰り返し呼び出すと動作が重くなることがあります。もし、特定の資源を何度も使う必要がある場合は、一括で作成と格納を行うことで効率的に再利用できます!  



関数

概要

quad = love.graphics.newQuad( x, y, width, height, sw, sh )

引数

number x
Image における左上からの x-軸座標
number y
Image における左上からの y-軸座標
number width
Image における Quad の幅 (0 以上)
number height
Image における Quad の高さ (0 以上)
number sw
Quad の基準全幅となる Image の幅 (0 以上)
number sh
Quad の基準全高となる Image の高さ (0 以上)

返値

Quad quad
新規 Quad です。

用例

Quad により部品化した画像を表示します

img = love.graphics.newImage("mushroom-64x64.png")

-- 画像の左上にある寸法が 32x32px の Quad を 
-- 表示します:
top_left = love.graphics.newQuad(0, 0, 32, 32, img:getDimensions())

-- こちらは左下です:
bottom_left = love.graphics.newQuad(0, 32, 32, 32, img:getDimensions())

function love.draw()
	love.graphics.draw(img, top_left, 50, 50)
	love.graphics.draw(img, bottom_left, 50, 200)
	-- v0.8:
	-- love.graphics.drawq(img, top_left, 50, 50)
	-- love.graphics.drawq(img, bottom_left, 50, 200)
end

関連



そのほかの言語