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 を使用します:

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

関連



そのほかの言語