love.graphics.newQuad (日本語)

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

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

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

用例

画像の一部を表示するために Quad を使用します:

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

-- 画像の左上 32x32 の四分区間のみを 
-- 表示したいとしましょう:
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

関連



そのほかの言語