Difference between revisions of "love.graphics (日本語)"
m |
m |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | love.graphics | + | love.graphics モジュールにおける第一の責務は線、図形、テキスト、[[Image (日本語)|画像]]などの[[Drawable (日本語)|描画可能]]なオブジェクトを画面へ描画することです。第二の責務にはメモリへ外部ファイル([[Image (日本語)|画像]]および[[Font (日本語)|フォント]]も含む)の読み込み、専用オブジェクト ([[ParticleSystem (日本語)|パーティクル・システム]]または [[Canvas (日本語)|Canvas]]) などの作成および画面配置の管理も含まれます。 |
− | LÖVE の座標系における原点は、画面左上端 (0, 0) の位置にあります。X 軸は水平方向です: 最大値は右方向の端です。 Y 軸は水平方向です: | + | LÖVE の座標系における原点は、画面左上端 (0, 0) の位置にあります。X 軸は水平方向です: 最大値は右方向の端です。 Y 軸は水平方向です: 最大値は下方向の端です。また、ピクセルの左上角は (0, 0) の位置で整列します。つまり、ピクセル幅が 1 の線を特定の関数で描画するとき、レンダリング出力で一つ違いエラーの問題 ([https://ja.wikipedia.org/wiki/Off-by-one%E3%82%A8%E3%83%A9%E3%83%BC off-by-one problems]) が発生する恐れがあります。対応策は、左上角ではなくピクセルの中心で座標系を整列します。この処理は <code>x+0.5</code> または <code>y+0.5</code> を渡すか、あるいは <code>love.graphics.translate()</code> で行います。 |
[[File:lovecoordsystem.png|LÖVE の座標系]] | [[File:lovecoordsystem.png|LÖVE の座標系]] | ||
Line 7: | Line 7: | ||
ほとんど場合において、画像または形状は左上端の原点から描画を行います(上述の画像を参照)。 | ほとんど場合において、画像または形状は左上端の原点から描画を行います(上述の画像を参照)。 | ||
− | + | LÖVE の角度に関する注意として、一般的な角度での操作に慣れていると思いますが、角度は 0 ~ 2π (約 6.28) までの範囲値による[https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%B8%E3%82%A2%E3%83%B3 ラジアン] (弧度) で表します。座標系の設定方法において、原点は左上角であるため、LÖVE の角度は少し逆方向に見えるためです。つまり、 0 地点の右 (X 軸に従う) は、 ¼π 地点は対角線上に右下方向となり、値を増分により '''時計回り''' を続けることで ½π 地点は直線上に下方向となります。 | |
+ | |||
+ | ほとんどの関数において、''グラフィック座標系''の操作で使用されるため、これは本質としては座標へ投影して表示する方法です。このように、位置、大きさ、回転などを変更できます。 | ||
== 型 == | == 型 == | ||
Line 21: | Line 23: | ||
| ?PrettyRemoved | | ?PrettyRemoved | ||
}} | }} | ||
+ | |||
== 関数 == | == 関数 == | ||
=== 描画 === | === 描画 === | ||
Line 34: | Line 37: | ||
| ?PrettyRemoved | | ?PrettyRemoved | ||
}} | }} | ||
+ | |||
+ | |||
=== オブジェクトの作成 === | === オブジェクトの作成 === | ||
{{#ask: [[Category:Functions]] [[parent::love.graphics (日本語)]] [[Concept:Current]] [[Sub-Category::Object Creation (日本語)]] | {{#ask: [[Category:Functions]] [[parent::love.graphics (日本語)]] [[Concept:Current]] [[Sub-Category::Object Creation (日本語)]] | ||
Line 46: | Line 51: | ||
| ?PrettyRemoved | | ?PrettyRemoved | ||
}} | }} | ||
+ | |||
+ | |||
=== グラフィックスの状態 === | === グラフィックスの状態 === | ||
{{#ask: [[Category:Functions]] [[parent::love.graphics (日本語)]] [[Concept:Current]] [[Sub-Category::State (日本語)]] | {{#ask: [[Category:Functions]] [[parent::love.graphics (日本語)]] [[Concept:Current]] [[Sub-Category::State (日本語)]] | ||
Line 58: | Line 65: | ||
| ?PrettyRemoved | | ?PrettyRemoved | ||
}} | }} | ||
+ | |||
=== 座標系 === | === 座標系 === | ||
Line 71: | Line 79: | ||
| ?PrettyRemoved | | ?PrettyRemoved | ||
}} | }} | ||
+ | |||
=== ウィンドウ === | === ウィンドウ === | ||
Line 84: | Line 93: | ||
| ?PrettyRemoved | | ?PrettyRemoved | ||
}} | }} | ||
+ | |||
+ | |||
+ | === システム情報 === | ||
+ | {{#ask: [[Category:Functions]] [[parent::love.graphics (日本語)]] [[Concept:Current]] [[Sub-Category::SystemInfo (日本語)]] | ||
+ | | headers=hide | ||
+ | | limit=2000 | ||
+ | | format=template | ||
+ | | template=ListingFields | ||
+ | | introtemplate=ListingIntro | ||
+ | | outrotemplate=ListingOutro | ||
+ | | ?Description | ||
+ | | ?PrettySince | ||
+ | | ?PrettyRemoved | ||
+ | }} | ||
+ | |||
== 列挙型 == | == 列挙型 == | ||
Line 97: | Line 121: | ||
}} | }} | ||
[[Category:Modules]] | [[Category:Modules]] | ||
− | {{#set:Description= | + | {{#set:Description=図形および画像の描画、画面配置の管理。}} |
+ | |||
== 関連 == | == 関連 == | ||
* [[parent::love (日本語)]] | * [[parent::love (日本語)]] | ||
+ | * [http://yylab.ce.cst.nihon-u.ac.jp/CG/yougo/yougo.html CG Dictionary Ver 1.50h] | ||
+ | |||
{{#set:Since=000}} | {{#set:Since=000}} | ||
+ | |||
== そのほかの言語 == | == そのほかの言語 == | ||
− | {{i18n|love.graphics}} | + | {{i18n (日本語)|love.graphics}} |
Latest revision as of 23:57, 17 July 2023
love.graphics モジュールにおける第一の責務は線、図形、テキスト、画像などの描画可能なオブジェクトを画面へ描画することです。第二の責務にはメモリへ外部ファイル(画像およびフォントも含む)の読み込み、専用オブジェクト (パーティクル・システムまたは Canvas) などの作成および画面配置の管理も含まれます。
LÖVE の座標系における原点は、画面左上端 (0, 0) の位置にあります。X 軸は水平方向です: 最大値は右方向の端です。 Y 軸は水平方向です: 最大値は下方向の端です。また、ピクセルの左上角は (0, 0) の位置で整列します。つまり、ピクセル幅が 1 の線を特定の関数で描画するとき、レンダリング出力で一つ違いエラーの問題 (off-by-one problems) が発生する恐れがあります。対応策は、左上角ではなくピクセルの中心で座標系を整列します。この処理は x+0.5
または y+0.5
を渡すか、あるいは love.graphics.translate()
で行います。
ほとんど場合において、画像または形状は左上端の原点から描画を行います(上述の画像を参照)。
LÖVE の角度に関する注意として、一般的な角度での操作に慣れていると思いますが、角度は 0 ~ 2π (約 6.28) までの範囲値によるラジアン (弧度) で表します。座標系の設定方法において、原点は左上角であるため、LÖVE の角度は少し逆方向に見えるためです。つまり、 0 地点の右 (X 軸に従う) は、 ¼π 地点は対角線上に右下方向となり、値を増分により 時計回り を続けることで ½π 地点は直線上に下方向となります。
ほとんどの関数において、グラフィック座標系の操作で使用されるため、これは本質としては座標へ投影して表示する方法です。このように、位置、大きさ、回転などを変更できます。
Contents
型
Canvas (日本語) | 作業用の裏画面(バッファ)へオブジェクトを描画します。 | 0.8.0 | |
Drawable (日本語) | 画面描画用オブジェクト全種の上位型です。 | ||
Font (日本語) | 画面に描写できる文字の字形を定義します。 | ||
Framebuffer (日本語) | 対象を画面外へ表示します。 | 0.7.0 | 0.8.0 |
Image (日本語) | 描画可能な画像の型。 | ||
Mesh (日本語) | 二次元ポリゴンメッシュはテクスチャが貼られた図形の描画に使用されます。 | 0.9.0 | |
ParticleSystem (日本語) | 火炎のような、魅力的な視覚効果を作成するために使用します。 | ||
PixelEffect (日本語) | ピクセルシェーダーによるエフェクトです。 | 0.8.0 | 0.9.0 |
Quad (日本語) | テクスチャの座標情報を有する四辺形。 | ||
Shader (日本語) | シェーダーによる視覚効果 | 0.9.0 | |
SpriteBatch (日本語) | 画像の位置を格納して、一回の呼び出して画像を描画します。 | ||
Text (日本語) | 描画可能なテキスト。 | 0.10.0 | |
Texture (日本語) | Drawable オブジェクトでテクスチャを表現するための上位型です。 | 0.9.1 | |
Video (日本語) | Video を描画できるようにします。 | 0.10.0 |
関数
描画
オブジェクトの作成
グラフィックスの状態
座標系
love.graphics.applyTransform (日本語) | 現在の座標変換へ指定された Transform オブジェクトを適用します。 | 11.0 | |
love.graphics.inverseTransformPoint (日本語) | 指定された 2D 位置を画面空間からグローバル座標へ変換します。 | 11.0 | |
love.graphics.origin (日本語) | 現在の座標変換を初期状態へ戻します。 | 0.9.0 | |
love.graphics.pop (日本語) | 現在の座標変換を変換スタックから復帰します。 | ||
love.graphics.push (日本語) | 現在の座標変換を変換スタックへコピーおよび待避します。 | ||
love.graphics.replaceTransform (日本語) | 指定された Transform オブジェクトで現在の座標変換を置換します。 | 11.0 | |
love.graphics.rotate (日本語) | 二次元座標系を回転させます。 | ||
love.graphics.scale (日本語) | 二次元座標系を尺度変更(拡大・縮小)します。 | ||
love.graphics.shear (日本語) | 座標系の剪断(せんだん)。 | 0.8.0 | |
love.graphics.transformPoint (日本語) | 指定された 2D 位置をグローバル座標から画面空間へ変換します。 | 11.0 | |
love.graphics.translate (日本語) | 二次元座標系を平行移動します。 |
ウィンドウ
love.graphics.checkMode (日本語) | 対応しているディスプレイ・モードを確認します。 | 0.9.0 | |
love.graphics.getCaption (日本語) | ウィンドウの見出しを取得します。 | 0.9.0 | |
love.graphics.getDPIScale (日本語) | ウィンドウの DPI 尺度係数を取得します。 | 11.0 | |
love.graphics.getDimensions (日本語) | ウィンドウの幅と高さをピクセル単位で取得します。 | 0.9.0 | |
love.graphics.getHeight (日本語) | ウィンドウの高さをピクセル単位で取得します。 | 0.2.1 | |
love.graphics.getMode (日本語) | 現在のディスプレイ・モードを返します。 | 0.8.0 | 0.9.0 |
love.graphics.getModes (日本語) | 対応しているフルスクリーンモードの一覧を取得します。 | 0.9.0 | |
love.graphics.getPixelDimensions (日本語) | ウィンドウの幅と高さをピクセル単位で取得します。 | 11.0 | |
love.graphics.getPixelHeight (日本語) | ウィンドウの高さをピクセル単位で取得します。 | 11.0 | |
love.graphics.getWidth (日本語) | ウィンドウの幅をピクセル単位で取得します。 | 0.2.1 | |
love.graphics.hasFocus (日本語) | ゲームのウィンドウにキーボードのフォーカスがあるかどうか確認します。 | 0.8.0 | 0.9.0 |
love.graphics.isCreated (日本語) | ウィンドウが作成されているか確認します。 | 0.9.0 | |
love.graphics.setCaption (日本語) | ウィンドウの見出しを設定します。 | 0.9.0 | |
love.graphics.setIcon (日本語) | ウィンドウのアイコンを設定します。 | 0.7.0 | 0.9.0 |
love.graphics.setMode (日本語) | ディスプレイ・モードを変更します。 | 0.9.0 | |
love.graphics.toggleFullscreen (日本語) | フルスクリーン(全画面表示)とウィンドウ表示の相互切り替え。 | 0.9.0 |
システム情報
love.graphics.getCanvasFormats (日本語) | 利用可能なPixelFormat、および各種形式に対応状況を取得します。 | 0.9.2 | |
love.graphics.getCompressedImageFormats (日本語) | 利用可能な圧縮画像形式と対応状況を取得します。 | 0.9.2 | 11.0 |
love.graphics.getMaxImageSize (日本語) | Image および Canvas の対応している最大の幅および高さを取得します。 | 0.9.0 | 0.10.0 |
love.graphics.getMaxPointSize (日本語) | 対応している点の最大の大きさを取得します。 | 0.10.0 | |
love.graphics.getRendererInfo (日本語) | システムに搭載されているビデオカードおよびドライバに関する情報を取得します。 | 0.9.0 | |
love.graphics.getStats (日本語) | レンダリング性能関連の統計情報を取得します。 | 0.9.0 | |
love.graphics.getSupported (日本語) | システムにおける補助グラフィックス機能の対応状況を取得します。 | 0.10.0 | |
love.graphics.getSystemLimit (日本語) | love.graphics の機能に関するシステム依存の最大値を個別に取得します。 | 0.9.1 | 0.10.0 |
love.graphics.getSystemLimits (日本語) | love.graphics の機能に関するシステム依存の最大値を取得します。 | 0.10.0 | |
love.graphics.getTextureTypes (日本語) | 利用可能なテクスチャの種類における対応状況の有無を個別に取得します。 | 11.0 |
列挙型
関連