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

m
(translation updated.)
Line 1: Line 1:
語句の折り返しと整列を行い、整形したテキストを描画します。
+
語句の折り返しと整列を行い、整形したテキストを描画します。  
  
追加の注記は [[love.graphics.print (日本語)|love.graphics.print]] を参照してください。
+
追加注意事項は [[love.graphics.print (日本語)|love.graphics.print]] を参照してください。
  
version [[0.9.2]] 以前において、折り返しの実装は空白による語句の分割および、指定された制限範囲内に上手く合わさるのを確実にするために後方へ配置します。しかしながら、この方法では、この時点で実行終了してしまうが故に、語句間への空白の追加は完了して不足するので、画面へ表示されたときには、一部の行は与えられた制限を超過してしまい文字溢れを起こしてしまいます。この症状は version [[0.10.0]] 以降では修正済です。
+
ワードラップの制限は尺度変更、回転、それ以外の座標変換の前に適用されます。そのため、 scale 引数を変更しても一行あたりのテキスト文字数は指定されたワードラップの制限と同じになり変更されません。
  
{{notice|整列が予期したとおりに動作しないことがあります! 与えられた x/y 座標が、長方形の範囲で幅に制限されているときは、整列が行われなくなります。}}
+
version[[0.9.2 (日本語)|0.9.2]] 以前の折り返しの実装は、空白による語句の分割および、指定された制限範囲内に上手く合わせるために後方へ配置します。この方法では実行終了後に語句間への空白追加は完了していても、実際は空白が足りません。よって、画面表示時に一部の行は与えられた制限を超過してしまい文字溢れを起こしてしまいます。この不具合は version [[0.10.0 (日本語)|0.10.0]] 以降では修正済です。
{{notice|非整数の位置にピクセルを描画をした場合は、ぼやけたテキストが表示されます。}}
+
 
 +
バージョン [[11.0 (日本語)|11.0]] 以前まで、配色成分における値の範囲は小数値の 0 〜 1 ではなく整数値の 0 〜 255 です。
 +
 
 +
{{notice|整列が予期したとおりに動作しないことがあります! 指定された x/y 座標が、長方形の範囲で幅に制限されているときは、整列が行われなくなります。 }}
 +
{{notice| 非整数の位置にピクセルを描画をした場合は、テキストがぼやけて表示されます。 }}
 
== 関数 ==
 
== 関数 ==
 
=== 概要 ===
 
=== 概要 ===
 
<source lang="lua">
 
<source lang="lua">
love.graphics.printf( text, x, y, limit, align )
+
love.graphics.printf( text, x, y, limit, align, r, sx, sy, ox, oy, kx, ky )
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
 
{{param|string|text|テキスト文字列。}}
 
{{param|string|text|テキスト文字列。}}
{{param|number|x|x-軸の座標での位置。}}
+
{{param|number|x|x-軸座標での位置。}}
 
{{param|number|y|y-軸の座標での位置。}}
 
{{param|number|y|y-軸の座標での位置。}}
 
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 
{{param|AlignMode|align ("left")|テキストの揃え方。}}
 
{{param|AlignMode|align ("left")|テキストの揃え方。}}
 +
{{New feature (日本語)|0.9.0|
 +
{{param|number|r (0)|方向 (弧度)。}}
 +
{{param|number|sx (1)|尺度変更係数 (x-軸)。}}
 +
{{param|number|sy (sx)|尺度変更係数 (y-軸)。}}
 +
{{param|number|ox (0)|原点の支距 (x-軸)。}}
 +
{{param|number|oy (0)|原点の支距 (y-軸)。}}
 +
{{param|number|kx (0)|剪断係数 (x-軸)。}}
 +
{{param|number|ky (0)|剪断係数 (y-軸)。}}
 +
}}
 
=== 返値 ===
 
=== 返値 ===
 
ありません。
 
ありません。
  
 
== 関数 ==
 
== 関数 ==
{{newin (日本語)|[[0.9.0]]|090|type=異形}}
+
{{newin (日本語)|[[11.0 (日本語)|11.0]]|110|type=異形}}
 
=== 概要 ===
 
=== 概要 ===
 
<source lang="lua">
 
<source lang="lua">
love.graphics.printf( text, x, y, limit, align, r, sx, sy, ox, oy, kx, ky )
+
love.graphics.printf( text, font, x, y, limit, align, r, sx, sy, ox, oy, kx, ky )
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
 
{{param|string|text|テキスト文字列。}}
 
{{param|string|text|テキスト文字列。}}
{{param|number|x|x-軸の座標での位置。}}
+
{{param|Font|font|使用する Font オブジェクト。}}
 +
{{param|number|x|x-軸座標での位置。}}
 
{{param|number|y|y-軸の座標での位置。}}
 
{{param|number|y|y-軸の座標での位置。}}
 
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
Line 44: Line 58:
  
 
== 関数 ==
 
== 関数 ==
{{newin (日本語)|[[0.10.0]]|100|type=異形}}
+
{{newin (日本語)|[[11.0 (日本語)|11.0]]|110|type=異形}}
 +
=== 概要 ===
 +
<source lang="lua">
 +
love.graphics.printf( text, transform, limit, align )
 +
</source>
 +
=== 引数 ===
 +
{{param|string|text|テキスト文字列。}}
 +
{{param|Transform|transform|Transform オブジェクト。}}
 +
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 +
{{param|AlignMode|align ("left")|テキストの揃え方。}}
 +
=== 返値 ===
 +
ありません。
 +
 
 +
== 関数 ==
 +
{{newin (日本語)|[[11.0 (日本語)|11.0]]|110|type=異形}}
 +
=== 概要 ===
 +
<source lang="lua">
 +
love.graphics.printf( text, font, transform, limit, align )
 +
</source>
 +
=== 引数 ===
 +
{{param|string|text|テキスト文字列。}}
 +
{{param|Font|font|使用する Font オブジェクト。}}
 +
{{param|Transform|transform|Transform オブジェクト。}}
 +
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 +
{{param|AlignMode|align ("left")|テキストの揃え方。}}
 +
=== 返値 ===
 +
ありません。
 +
 
 +
== 関数 ==
 +
{{newin (日本語)|[[0.10.0 (日本語)|[0.10.0]]|100|type=異形}}
 
=== 概要 ===
 
=== 概要 ===
 
<source lang="lua">
 
<source lang="lua">
love.graphics.printf( coloredtext, x, y, wraplimit, alignmode, angle, sx, sy, ox, oy, kx, ky )
+
love.graphics.printf( coloredtext, x, y, limit, align, angle, sx, sy, ox, oy, kx, ky )
 
</source>
 
</source>
 
=== 引数 ===
 
=== 引数 ===
{{param|table|coloredtext|色を有しているテーブルおよび <code>{color1, string1, color2, string2, ...}</code> 形式でオブジェクトへ追加する文字列。}}
+
{{param|table|coloredtext|色を有しているテーブル、および <code>{color1, string1, color2, string2, ...}</code> 形式でオブジェクトへ追加する文字列。 }}
{{subparam|table|color1|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、および選択制の透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
+
{{subparam|table|color1|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 
{{subparam|string|string1|以前の色により指定された色を有するテキスト文字列。}}
 
{{subparam|string|string1|以前の色により指定された色を有するテキスト文字列。}}
{{subparam|table|color2|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、および選択制の透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
+
{{subparam|table|color2|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 
{{subparam|string|string2|以前の色により指定された色を有するテキスト文字列。}}
 
{{subparam|string|string2|以前の色により指定された色を有するテキスト文字列。}}
 
{{subparam|tables and strings|...|追加の色と文字列。}}
 
{{subparam|tables and strings|...|追加の色と文字列。}}
 
{{param|number|x|テキストの位置 (x-軸)。}}
 
{{param|number|x|テキストの位置 (x-軸)。}}
 
{{param|number|y|テキストの位置 (y-軸)。}}
 
{{param|number|y|テキストの位置 (y-軸)。}}
{{param|number|wraplimit|自動で次行への行送り処理を行うまでのピクセル単位によるテキストの最大幅。}}
+
{{param|number|limit|自動で次行への行送り処理を行うまでのピクセル単位によるテキストの最大幅。}}
{{param|AlignMode|align|テキストの整列位置。}}
+
{{param|AlignMode|align|テキストの揃え方。}}
 
{{param|number|angle (0)|方向 (弧度)。}}
 
{{param|number|angle (0)|方向 (弧度)。}}
 
{{param|number|sx (1)|尺度変更係数 (x-軸)。}}
 
{{param|number|sx (1)|尺度変更係数 (x-軸)。}}
Line 70: Line 113:
 
ありません。
 
ありません。
 
=== 注釈 ===
 
=== 注釈 ===
[[love.graphics.setColor (日本語)|love.graphics.setColor]] により設定された色はテキストの色と混合 (乗算) されます。
+
[[love.graphics.setColor (日本語)|love.graphics.setColor]] により設定された色はテキストの色と混合 (乗算) されます。
 +
 
 +
== 関数 ==
 +
{{newin (日本語)|[[11.0 (日本語)|11.0]]|110|type=異形}}
 +
=== 概要 ===
 +
<source lang="lua">
 +
love.graphics.printf( coloredtext, font, x, y, limit, align, angle, sx, sy, ox, oy, kx, ky )
 +
</source>
 +
=== 引数 ===
 +
{{param|table|coloredtext|色を有しているテーブル、および <code>{color1, string1, color2, string2, ...}</code> 形式でオブジェクトへ追加する文字列。 }}
 +
{{subparam|table|color1|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 +
{{subparam|string|string1|以前の色により指定された色を有するテキスト文字列。}}
 +
{{subparam|table|color2|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 +
{{subparam|string|string2|以前の色により指定された色を有するテキスト文字列。}}
 +
{{subparam|tables and strings|...|追加の色と文字列。}}
 +
{{param|Font|font|使用する Font オブジェクト。}}
 +
{{param|number|x|x-軸座標での位置。}}
 +
{{param|number|y|y-軸の座標での位置。}}
 +
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 +
{{param|AlignMode|align ("left")|テキストの揃え方。}}
 +
{{param|number|angle (0)|方向 (弧度)。}}
 +
{{param|number|sx (1)|尺度変更係数 (x-軸)。}}
 +
{{param|number|sy (sx)|尺度変更係数 (y-軸)。}}
 +
{{param|number|ox (0)|原点の支距 (x-軸)。}}
 +
{{param|number|oy (0)|原点の支距 (y-軸)。}}
 +
{{param|number|kx (0)|剪断係数 (x-軸)。}}
 +
{{param|number|ky (0)|剪断係数 (y-軸)。}}
 +
=== 返値 ===
 +
ありません。
 +
=== 注釈 ===
 +
[[love.graphics.setColor (日本語)|love.graphics.setColor]] により設定された色はテキストの色と混合 (乗算) されます。
 +
 
 +
== 関数 ==
 +
{{newin (日本語)|[[11.0 (日本語)|11.0]]|110|type=異形}}
 +
=== 概要 ===
 +
<source lang="lua">
 +
love.graphics.printf( coloredtext, transform, limit, align )
 +
</source>
 +
=== 引数 ===
 +
{{param|table|coloredtext|色を有しているテーブル、および <code>{color1, string1, color2, string2, ...}</code> 形式でオブジェクトへ追加する文字列。 }}
 +
{{subparam|table|color1|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 +
{{subparam|string|string1|以前の色により指定された色を有するテキスト文字列。}}
 +
{{subparam|table|color2|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 +
{{subparam|string|string2|以前の色により指定された色を有するテキスト文字列。}}
 +
{{subparam|tables and strings|...|追加の色と文字列。}}
 +
{{param|Transform|transform|Transform オブジェクト。}}
 +
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 +
{{param|AlignMode|align ("left")|テキストの揃え方。}}
 +
=== 返値 ===
 +
ありません。
 +
=== 注釈 ===
 +
[[love.graphics.setColor (日本語)|love.graphics.setColor]] により設定された色はテキストの色と混合 (乗算) されます。
 +
 
 +
== 関数 ==
 +
{{newin (日本語)|[[11.0 (日本語)|11.0]]|110|type=異形}}
 +
=== 概要 ===
 +
<source lang="lua">
 +
love.graphics.printf( coloredtext, font, transform, limit, align )
 +
</source>
 +
=== 引数 ===
 +
{{param|table|coloredtext|色を有しているテーブル、および <code>{color1, string1, color2, string2, ...}</code> 形式でオブジェクトへ追加する文字列。 }}
 +
{{subparam|table|color1|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 +
{{subparam|string|string1|以前の色により指定された色を有するテキスト文字列。}}
 +
{{subparam|table|color2|次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を <code>{red, green, blue, alpha}</code> 形式にて有するテーブル。}}
 +
{{subparam|string|string2|以前の色により指定された色を有するテキスト文字列。}}
 +
{{subparam|tables and strings|...|追加の色と文字列。}}
 +
{{param|Font|font|使用する Font オブジェクト。}}
 +
{{param|Transform|transform|Transform オブジェクト。}}
 +
{{param|number|limit|この水平ピクセルの後に行を折り返す長さ。}}
 +
{{param|AlignMode|align ("left")|テキストの揃え方。}}
 +
=== 返値 ===
 +
ありません。
 +
=== 注釈 ===
 +
[[love.graphics.setColor (日本語)|love.graphics.setColor]] により設定された色はテキストの色と混合 (乗算) されます。  
  
 
== 用例 ==
 
== 用例 ==
右揃えで水平方向への制限を 125 にしてテキストを画面へ描画します。
+
水平方向への制限を 125 にしてテキストを右揃えで画面へ描画します。
 
<source lang="lua">
 
<source lang="lua">
 
love.graphics.printf("This text is aligned right, and wraps when it gets too big.", 25, 25, 125, "right")
 
love.graphics.printf("This text is aligned right, and wraps when it gets too big.", 25, 25, 125, "right")
</source>
 
== 注釈 ==
 
注意点として 引数 limit はテキストの'中'および左'揃えの位置に影響します。
 
<source lang="lua">
 
love.graphics.printf("This text is aligned center",100, 100, 200,"center") -- テキストを x = 200/2 + 100 = 200 の中央へ
 
love.graphics.printf("This text is aligned right",100, 100, 200,"right") -- x = 100 + 200 = 300 へ右揃え
 
 
</source>
 
</source>
  
Line 87: Line 197:
 
<source lang="lua">
 
<source lang="lua">
 
function love.load()
 
function love.load()
-- 日本語フォントの指定 (ここでは IPAexフォント(Ver.003.01) を使用しています: http://ipafont.ipa.go.jp/)
+
-- 日本語フォントの指定 (ここでは IPAexフォント (Ver.003.01) を使用しています: http://ipafont.ipa.go.jp/)
         -- LOVE でフォントを使用する場合はフォントオブジェクトを作成するということに注意してください。
+
         -- LOVE でフォントを使用する場合は必ずフォントオブジェクトを作成してください。
 
font = love.graphics.newFont("ipaexm.ttf", 18) -- IPAex明朝(Ver.003.01)
 
font = love.graphics.newFont("ipaexm.ttf", 18) -- IPAex明朝(Ver.003.01)
 
love.graphics.setFont(font)
 
love.graphics.setFont(font)
Line 95: Line 205:
 
-- サンプルテキストは野口雨情(1882生~1945没)『大利根八十里を溯る』の関東の耶馬渓より引用。
 
-- サンプルテキストは野口雨情(1882生~1945没)『大利根八十里を溯る』の関東の耶馬渓より引用。
 
-- 作家別作品リスト:No.286 (青空文庫)
 
-- 作家別作品リスト:No.286 (青空文庫)
 +
-- http://www.aozora.gr.jp/index_pages/person286.html
 +
--
 +
function love.draw()
 +
love.graphics.printf("ここと銚子とは 五十里もあろに 水は寝ないで 流れてく", 100, 200)
 +
end
 +
 +
-- 参考:
 +
-- printf で禁則処理(日中韓)が正常に行われない不具合について (回避方法は禁則処理ルーチンを組むかデータ側で対応する以外はありません)
 +
--
 +
-- Word wrap for CJK should not put punctuation at the front of a line
 +
-- https://bitbucket.org/rude/love/issues/1154/word-wrap-for-cjk-should-not-put
 +
</source>
 +
== 注釈 ==
 +
注意点として 引数 limit はテキストの'中'および左'揃えの位置に影響します。
 +
<source lang="lua">
 +
love.graphics.printf("This text is aligned center", 100, 100, 200, "center") -- テキストを x = 200/2 + 100 = 200 の中央へ
 +
love.graphics.printf("This text is aligned right" , 100, 100, 200, "right") -- x = 100 + 200 = 300 へ右揃え
 +
</source>
 +
== 関連 ==
 +
* [[parent::love.graphics (日本語)]]
 +
* [[Font:getWrap (日本語)]]
 +
[[Category:Functions]]
 +
[[Sub-Category::Drawing (日本語)| ]]
 +
{{#set:Description=語句の折り返しと整列を行い、整形したテキストを描画します。 }}
 +
{{#set:Since=000}}
 +
 +
== そのほかの言語 ==
 +
{{i18n (日本語)|love.graphics.printf}}
 +
別作品リスト:No.286 (青空文庫)
 
-- http://www.aozora.gr.jp/index_pages/person286.html
 
-- http://www.aozora.gr.jp/index_pages/person286.html
 
--
 
--

Revision as of 04:34, 27 July 2019

語句の折り返しと整列を行い、整形したテキストを描画します。

追加注意事項は love.graphics.print を参照してください。

ワードラップの制限は尺度変更、回転、それ以外の座標変換の前に適用されます。そのため、 scale 引数を変更しても一行あたりのテキスト文字数は指定されたワードラップの制限と同じになり変更されません。

version0.9.2 以前の折り返しの実装は、空白による語句の分割および、指定された制限範囲内に上手く合わせるために後方へ配置します。この方法では実行終了後に語句間への空白追加は完了していても、実際は空白が足りません。よって、画面表示時に一部の行は与えられた制限を超過してしまい文字溢れを起こしてしまいます。この不具合は version 0.10.0 以降では修正済です。

バージョン 11.0 以前まで、配色成分における値の範囲は小数値の 0 〜 1 ではなく整数値の 0 〜 255 です。

O.png 整列が予期したとおりに動作しないことがあります! 指定された x/y 座標が、長方形の範囲で幅に制限されているときは、整列が行われなくなります。  


O.png 非整数の位置にピクセルを描画をした場合は、テキストがぼやけて表示されます。  


関数

概要

love.graphics.printf( text, x, y, limit, align, r, sx, sy, ox, oy, kx, ky )

引数

string text
テキスト文字列。
number x
x-軸座標での位置。
number y
y-軸の座標での位置。
number limit
この水平ピクセルの後に行を折り返す長さ。
AlignMode align ("left")
テキストの揃え方。
LÖVE 0.9.0 から利用可能
number r (0)
方向 (弧度)。
number sx (1)
尺度変更係数 (x-軸)。
number sy (sx)
尺度変更係数 (y-軸)。
number ox (0)
原点の支距 (x-軸)。
number oy (0)
原点の支距 (y-軸)。
number kx (0)
剪断係数 (x-軸)。
number ky (0)
剪断係数 (y-軸)。

返値

ありません。

関数

LÖVE 11.0 から使用可能
この異形は以前のバージョンでは非対応です。

概要

love.graphics.printf( text, font, x, y, limit, align, r, sx, sy, ox, oy, kx, ky )

引数

string text
テキスト文字列。
Font font
使用する Font オブジェクト。
number x
x-軸座標での位置。
number y
y-軸の座標での位置。
number limit
この水平ピクセルの後に行を折り返す長さ。
AlignMode align ("left")
テキストの揃え方。
number r (0)
方向 (弧度)。
number sx (1)
尺度変更係数 (x-軸)。
number sy (sx)
尺度変更係数 (y-軸)。
number ox (0)
原点の支距 (x-軸)。
number oy (0)
原点の支距 (y-軸)。
number kx (0)
剪断係数 (x-軸)。
number ky (0)
剪断係数 (y-軸)。

返値

ありません。

関数

LÖVE 11.0 から使用可能
この異形は以前のバージョンでは非対応です。

概要

love.graphics.printf( text, transform, limit, align )

引数

string text
テキスト文字列。
Transform transform
Transform オブジェクト。
number limit
この水平ピクセルの後に行を折り返す長さ。
AlignMode align ("left")
テキストの揃え方。

返値

ありません。

関数

LÖVE 11.0 から使用可能
この異形は以前のバージョンでは非対応です。

概要

love.graphics.printf( text, font, transform, limit, align )

引数

string text
テキスト文字列。
Font font
使用する Font オブジェクト。
Transform transform
Transform オブジェクト。
number limit
この水平ピクセルの後に行を折り返す長さ。
AlignMode align ("left")
テキストの揃え方。

返値

ありません。

関数

LÖVE [0.10.0 から使用可能
この異形は以前のバージョンでは非対応です。

概要

love.graphics.printf( coloredtext, x, y, limit, align, angle, sx, sy, ox, oy, kx, ky )

引数

table coloredtext
色を有しているテーブル、および {color1, string1, color2, string2, ...} 形式でオブジェクトへ追加する文字列。
table color1
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string1
以前の色により指定された色を有するテキスト文字列。
table color2
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string2
以前の色により指定された色を有するテキスト文字列。
tables and strings ...
追加の色と文字列。
number x
テキストの位置 (x-軸)。
number y
テキストの位置 (y-軸)。
number limit
自動で次行への行送り処理を行うまでのピクセル単位によるテキストの最大幅。
AlignMode align
テキストの揃え方。
number angle (0)
方向 (弧度)。
number sx (1)
尺度変更係数 (x-軸)。
number sy (sx)
尺度変更係数 (y-軸)。
number ox (0)
原点の支距 (x-軸)。
number oy (0)
原点の支距 (y-軸)。
number kx (0)
剪断 / 斜行係数 (x-軸)。
number ky (0)
剪断 / 斜行係数 (y-軸)。

返値

ありません。

注釈

love.graphics.setColor により設定された色はテキストの色と混合 (乗算) されます。

関数

LÖVE 11.0 から使用可能
この異形は以前のバージョンでは非対応です。

概要

love.graphics.printf( coloredtext, font, x, y, limit, align, angle, sx, sy, ox, oy, kx, ky )

引数

table coloredtext
色を有しているテーブル、および {color1, string1, color2, string2, ...} 形式でオブジェクトへ追加する文字列。
table color1
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string1
以前の色により指定された色を有するテキスト文字列。
table color2
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string2
以前の色により指定された色を有するテキスト文字列。
tables and strings ...
追加の色と文字列。
Font font
使用する Font オブジェクト。
number x
x-軸座標での位置。
number y
y-軸の座標での位置。
number limit
この水平ピクセルの後に行を折り返す長さ。
AlignMode align ("left")
テキストの揃え方。
number angle (0)
方向 (弧度)。
number sx (1)
尺度変更係数 (x-軸)。
number sy (sx)
尺度変更係数 (y-軸)。
number ox (0)
原点の支距 (x-軸)。
number oy (0)
原点の支距 (y-軸)。
number kx (0)
剪断係数 (x-軸)。
number ky (0)
剪断係数 (y-軸)。

返値

ありません。

注釈

love.graphics.setColor により設定された色はテキストの色と混合 (乗算) されます。

関数

LÖVE 11.0 から使用可能
この異形は以前のバージョンでは非対応です。

概要

love.graphics.printf( coloredtext, transform, limit, align )

引数

table coloredtext
色を有しているテーブル、および {color1, string1, color2, string2, ...} 形式でオブジェクトへ追加する文字列。
table color1
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string1
以前の色により指定された色を有するテキスト文字列。
table color2
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string2
以前の色により指定された色を有するテキスト文字列。
tables and strings ...
追加の色と文字列。
Transform transform
Transform オブジェクト。
number limit
この水平ピクセルの後に行を折り返す長さ。
AlignMode align ("left")
テキストの揃え方。

返値

ありません。

注釈

love.graphics.setColor により設定された色はテキストの色と混合 (乗算) されます。

関数

LÖVE 11.0 から使用可能
この異形は以前のバージョンでは非対応です。

概要

love.graphics.printf( coloredtext, font, transform, limit, align )

引数

table coloredtext
色を有しているテーブル、および {color1, string1, color2, string2, ...} 形式でオブジェクトへ追加する文字列。
table color1
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string1
以前の色により指定された色を有するテキスト文字列。
table color2
次回の文字列で使用する色のテーブルとして赤色、緑色、青色、およびオプションの透過成分を {red, green, blue, alpha} 形式にて有するテーブル。
string string2
以前の色により指定された色を有するテキスト文字列。
tables and strings ...
追加の色と文字列。
Font font
使用する Font オブジェクト。
Transform transform
Transform オブジェクト。
number limit
この水平ピクセルの後に行を折り返す長さ。
AlignMode align ("left")
テキストの揃え方。

返値

ありません。

注釈

love.graphics.setColor により設定された色はテキストの色と混合 (乗算) されます。

用例

水平方向への制限を 125 にしてテキストを右揃えで画面へ描画します。

love.graphics.printf("This text is aligned right, and wraps when it gets too big.", 25, 25, 125, "right")

日本語の表示方法(ファイルの文字コードはUTF-8です):

function love.load()
	-- 日本語フォントの指定 (ここでは IPAexフォント (Ver.003.01) を使用しています: http://ipafont.ipa.go.jp/)
        -- LOVE でフォントを使用する場合は必ずフォントオブジェクトを作成してください。
	font = love.graphics.newFont("ipaexm.ttf", 18) -- IPAex明朝(Ver.003.01)
	love.graphics.setFont(font)
end

-- サンプルテキストは野口雨情(1882生~1945没)『大利根八十里を溯る』の関東の耶馬渓より引用。
-- 作家別作品リスト:No.286 (青空文庫)
-- http://www.aozora.gr.jp/index_pages/person286.html
--
function love.draw()
	love.graphics.printf("ここと銚子とは 五十里もあろに 水は寝ないで 流れてく", 100, 200)
end

-- 参考:
-- printf で禁則処理(日中韓)が正常に行われない不具合について (回避方法は禁則処理ルーチンを組むかデータ側で対応する以外はありません)
--
-- Word wrap for CJK should not put punctuation at the front of a line
-- https://bitbucket.org/rude/love/issues/1154/word-wrap-for-cjk-should-not-put

注釈

注意点として 引数 limit はテキストの'中'および左'揃えの位置に影響します。

love.graphics.printf("This text is aligned center", 100, 100, 200, "center") -- テキストを x = 200/2 + 100 = 200 の中央へ
love.graphics.printf("This text is aligned right" , 100, 100, 200, "right") -- x = 100 + 200 = 300 へ右揃え

関連



そのほかの言語

別作品リスト:No.286 (青空文庫) -- http://www.aozora.gr.jp/index_pages/person286.html -- function love.draw() love.graphics.printf("ここと銚子とは 五十里もあろに 水は寝ないで 流れてく", 100, 200) end

-- 参考: -- printf で禁則処理(日中韓)が正常に行われない不具合について (回避方法は禁則処理ルーチンを組むかデータ側で対応する以外はありません) -- -- Word wrap for CJK should not put punctuation at the front of a line -- https://bitbucket.org/rude/love/issues/1154/word-wrap-for-cjk-should-not-put </source>

関連



そのほかの言語