文字の表示

文字を表示する

画面に文字を表示するためにはlove.graphics.printを使用します。

function love.draw()
  love.graphics.print("Hello Love2D!", 20, 20)
end
文字を表示する

座標(20, 20)の位置から「Hello Love2D!」という文字が表示されます。

文字のサイズを変更する

文字のサイズを変更する場合、Fontオブジェクトを作成して設定する必要があります。Fontオブジェクトはlove.graphics.newFontで作成することができます。

function love.load()
  font = love.graphics.newFont(32)
  love.graphics.setFont(font)
end

function love.draw()
  love.graphics.print("Hello!!", 20, 20)
end
文字のサイズを変更する

フォントサイズが32pxの「Hello!!」が表示されます。

文字の色を変更する

文字の色を変更する場合、love.graphics.setColorを使用します。

function love.load()
  love.graphics.setColor(1, 0, 0)    -- 赤に設定
end

function love.draw()
  love.graphics.print("Hello!!", 20, 20)
end
文字の色を変更する

赤色の文字で「Hello!!」と表示されます。

love.graphics.setColorは文字の色を変えるだけのものではなく、この関数の呼び出し以降の描画の色を設定する関数です。図形の描画のときなどにも使用します。

フォントを変更する

Love2DではBMFont(ビットマップフォント)とTrueTypeフォントを使用することができます。フォントを変更する場合、love.graphics.newFontFontオブジェクトをフォントを指定して作成します。

ここではフォントをGoogle FontsのRobotoのRoboto-Medium.ttfに変更してみます。

function love.load()
  font = love.graphics.newFont("Roboto-Medium.ttf", 32)
  love.graphics.setFont(font)
end

function love.draw()
  love.graphics.print("Hello!!", 20, 20)
end
文字の色を変更する

実行すると、Robotoフォントで「Hello!!」と表示されます。

※ Love2Dで作成したゲームを公開する場合、使用するフォントのライセンスに注意しましょう。

日本語の表示に対応する

(当然ですが)日本語に対応していないフォントでは日本語を表示することができません。日本語に対応していないフォントで日本語を表示しようとすると文字化けを起こします。

function love.draw()
  love.graphics.print("こんにちは!", 20, 20)
end
日本語の文字化け

日本語の表示を行う場合、日本語に対応したフォントを設定します。例として、梅フォントのume-tgc5.ttfに変更してみます。

function love.load()
  font = love.graphics.newFont("ume-tgc5.ttf", 20)
  love.graphics.setFont(font)
end

function love.draw()
  love.graphics.print("こんにちは!", 20, 20)
end
日本語の表示

日本語が正しく表示されました。