love.graphics (简体中文)
The primary responsibility for the love.graphics module is the drawing of lines, shapes, text, Images and other Drawable objects onto the screen. Its secondary responsibilities include loading external files (including Images and Fonts) into memory, creating specialized objects (such as ParticleSystems or Framebuffers) and managing screen geometry.
love.graphics模块的主要功能是绘制图像(文字、形状、线、图片Image、其他Drawable)到屏幕上。次要功能是将外部文件(图片Image、字体Font)加载到内存中。建立专门的对象进行管理(比如ParticleSystem、Framebuffer)。
LÖVE's coordinate system is rooted in the upper-left corner of the screen, which is at location (0, 0). The x axis is horizontal: larger values are further to the right. The y axis is vertical: larger values are further towards the bottom.
LÖVE的坐标系统如下图所示,以左上角为原点,横向延伸为X轴,纵向延伸为Y轴。
In many cases, you draw images or shapes in terms of their upper-left corner (See the picture above).
在许多情况下,你绘制的图片和图形都是以它们的左上角为起点。 (如上图)
Many of the functions are used to manipulate the graphics coordinate system, which is essentially the the way coordinates are mapped to the display. You can change the position, scale, and even rotation in this way.
我们提供许多函数来用于操作“图形坐标系统”,坐标系统是图像显示的本质。通过操作坐标,你可以改变位置、大小、甚至旋转。
Contents
Types
Canvas | Off-screen render target. |
Drawable | Superclass for all things that can be drawn on screen. |
Font | Defines the shape of characters than can be drawn onto the screen. |
Framebuffer | Off-screen render target. |
Image | Drawable image type. |
Mesh | A 2D polygon mesh used for drawing arbitrary textured shapes. |
ParticleSystem | Used to create cool effects, like fire. |
PixelEffect | Pixel shader effect. |
Quad | A quadrilateral with texture coordinate information. |
Shader | Shader effect. |
SpriteBatch | Store image positions in a buffer, and draw it in one call. |
Text | Drawable text. |
Texture | Superclass for drawable objects which represent a texture. |
Video | A drawable video. |
Functions
Drawing
love.graphics.arc (简体中文) | Draws an arc.绘制一段弧. | 0.8.0 | |
love.graphics.checkMode (简体中文) | Checks if a display mode is supported.检查是否支持这种显示模式. | ||
love.graphics.circle (简体中文) | Draws a circle. | ||
love.graphics.draw (简体中文) | Draws objects on screen.在屏幕上绘制物件。 | ||
love.graphics.printf (简体中文) | Draws text on screen. If no Font is set, one will be created and set (once) if needed.绘制格式化过的文本,可折行显示、对齐。 |
Object Creation
Graphics State
love.graphics.getBackgroundColor | Gets the current background color. | ||
love.graphics.getBlendMode | Gets the blending mode. | 0.2.0 | |
love.graphics.getCanvas | Returns the current target Canvas. | 0.8.0 | |
love.graphics.getColor | Gets the current color. | ||
love.graphics.getColorMask | Gets the active color components used when drawing. | 0.9.0 | |
love.graphics.getColorMode | Gets the color mode (which controls how images are affected by the current color). | 0.2.0 | 0.9.0 |
love.graphics.getDefaultFilter | Returns the default scaling filters used with Images, Canvases, and Fonts. | 0.9.0 | |
love.graphics.getDefaultImageFilter | Returns the default scaling filters. | 0.8.0 | 0.9.0 |
love.graphics.getDepthMode | Gets the current depth test mode and whether writing to the depth buffer is enabled. | 11.0 | |
love.graphics.getFont | Gets the current Font object. | 0.9.0 | |
love.graphics.getFrontFaceWinding | Gets whether triangles with clockwise- or counterclockwise-ordered vertices are considered front-facing. | 11.0 | |
love.graphics.getLineJoin | Gets the line join style. | ||
love.graphics.getLineStipple | Gets the current line stipple. | 0.8.0 | |
love.graphics.getLineStyle | Gets the line style. | 0.3.2 | |
love.graphics.getLineWidth | Gets the current line width. | 0.3.2 | |
love.graphics.getMeshCullMode | Gets whether back-facing triangles in a Mesh are culled. | 11.0 | |
love.graphics.getPixelEffect | Returns the current PixelEffect. | 0.8.0 | 0.9.0 |
love.graphics.getPointSize | Gets the point size. | ||
love.graphics.getPointStyle | Gets the current point style. | 0.10.0 | |
love.graphics.getScissor | Gets the current scissor box. | 0.4.0 | |
love.graphics.getShader | Gets the current Shader. | 0.9.0 | |
love.graphics.getStackDepth | Gets the current depth of the transform / state stack (the number of pushes without corresponding pops). | 11.0 | |
love.graphics.getStencilTest | Gets the current stencil test configuration. | 0.10.0 | |
love.graphics.intersectScissor | Sets the scissor to the rectangle created by the intersection of the specified rectangle with the existing scissor. | 0.10.0 | |
love.graphics.isActive | Gets whether the graphics module is able to be used. | 0.10.0 | |
love.graphics.isGammaCorrect | Gets whether gamma-correct rendering is enabled. | 0.10.0 | |
love.graphics.isSupported | Checks for the support of graphics related functions. | 0.8.0 | 0.10.0 |
love.graphics.isWireframe | Gets whether wireframe mode is used when drawing. | 0.9.1 | |
love.graphics.reset | Resets the current graphics settings. | ||
love.graphics.setBackgroundColor | Sets the background color. | ||
love.graphics.setBlendMode | Sets the blending mode. | 0.2.0 | |
love.graphics.setCanvas | Captures drawing operations to a Canvas | 0.8.0 | |
love.graphics.setColor | Sets the color used for drawing. | ||
love.graphics.setColorMask | Sets the color mask. Enables or disables specific color components when rendering. | 0.9.0 | |
love.graphics.setColorMode | Sets the color mode (which controls how images are affected by the current color). | 0.2.0 | 0.9.0 |
love.graphics.setDefaultFilter | Sets the default scaling filters used with Images, Canvases, and Fonts. | 0.9.0 | |
love.graphics.setDefaultImageFilter | Sets the default scaling filters. | 0.8.0 | 0.9.0 |
love.graphics.setDepthMode | Configures depth testing and writing to the depth buffer. | 11.0 | |
love.graphics.setFont | Set an already-loaded Font as the current font. | ||
love.graphics.setFrontFaceWinding | Sets whether triangles with clockwise- or counterclockwise-ordered vertices are considered front-facing. | 11.0 | |
love.graphics.setInvertedStencil | Defines an inverted stencil. | 0.8.0 | 0.10.0 |
love.graphics.setLine | Sets the line width and style. | 0.9.0 | |
love.graphics.setLineJoin | Sets the line join style. | ||
love.graphics.setLineStipple | Sets the line stipple pattern. | 0.8.0 | |
love.graphics.setLineStyle | Sets the line style. | 0.3.2 | |
love.graphics.setLineWidth | Sets the line width. | 0.3.2 | |
love.graphics.setMeshCullMode | Sets whether back-facing triangles in a Mesh are culled. | 11.0 | |
love.graphics.setPixelEffect | Routes drawing operations through a pixel shader. | 0.8.0 | 0.9.0 |
love.graphics.setPoint | Sets the point size and style. | 0.9.0 | |
love.graphics.setPointSize | Sets the point size. | ||
love.graphics.setPointStyle | Sets the point style. | 0.10.0 | |
love.graphics.setRenderTarget | Captures drawing operations to a Framebuffer | 0.7.0 | 0.8.0 |
love.graphics.setScissor | Sets or disables scissor. | 0.4.0 | |
love.graphics.setShader | Routes drawing operations through a shader. | 0.9.0 | |
love.graphics.setStencil | Defines or releases a stencil. | 0.8.0 | 0.10.0 |
love.graphics.setStencilTest | Configures or disables stencil testing. | 0.10.0 | |
love.graphics.setWireframe | Sets whether wireframe lines will be used when drawing. | 0.9.1 |
Coordinate System
love.graphics.applyTransform | Applies the given Transform object to the current coordinate transformation. | 11.0 | |
love.graphics.inverseTransformPoint | Converts the given 2D position from screen-space into global coordinates. | 11.0 | |
love.graphics.origin | Resets the current coordinate transformation. | 0.9.0 | |
love.graphics.pop | Pops the current coordinate transformation from the transformation stack. | ||
love.graphics.push | Copies and pushes the current coordinate transformation to the transformation stack. | ||
love.graphics.replaceTransform | Replaces the current coordinate transformation with the given Transform object. | 11.0 | |
love.graphics.rotate | Rotates the coordinate system in two dimensions. | ||
love.graphics.scale | Scales the coordinate system in two dimensions. | ||
love.graphics.shear | Shears the coordinate system. | 0.8.0 | |
love.graphics.transformPoint | Converts the given 2D position from global coordinates into screen-space. | 11.0 | |
love.graphics.translate | Translates the coordinate system in two dimensions. |
Window
love.graphics.checkMode | Checks if a display mode is supported. | 0.9.0 | |
love.graphics.getCaption | Gets the window caption. | 0.9.0 | |
love.graphics.getDPIScale | Gets the DPI scale factor of the window. | 11.0 | |
love.graphics.getDimensions | Gets the width and height of the window. | 0.9.0 | |
love.graphics.getHeight | Gets the height in pixels of the window. | 0.2.1 | |
love.graphics.getMode | Returns the current display mode. | 0.8.0 | 0.9.0 |
love.graphics.getModes | Gets a list of supported fullscreen modes. | 0.9.0 | |
love.graphics.getPixelDimensions | Gets the width and height in pixels of the window. | 11.0 | |
love.graphics.getPixelHeight | Gets the height in pixels of the window. | 11.0 | |
love.graphics.getPixelWidth | Gets the width in pixels of the window. | 11.0 | |
love.graphics.getWidth | Gets the width in pixels of the window. | 0.2.1 | |
love.graphics.hasFocus | Checks if the game window has keyboard focus. | 0.8.0 | 0.9.0 |
love.graphics.isCreated | Checks if the window has been created. | 0.9.0 | |
love.graphics.setCaption | Sets the window caption. | 0.9.0 | |
love.graphics.setIcon | Set window icon. | 0.7.0 | 0.9.0 |
love.graphics.setMode | Changes the display mode. | 0.9.0 | |
love.graphics.toggleFullscreen | Toggles fullscreen. | 0.9.0 |
Enums
AlignMode | Text alignment. | ||
ArcType | Different types of arcs that can be drawn. | 0.10.1 | |
AttributeDataType | Data types used in a Mesh's vertex format. | 0.9.0 | |
BlendAlphaMode | Different ways alpha affects color blending. | 0.10.0 | |
BlendMode | Different ways to do color blending. | 0.2.0 | |
BufferDataUsage | Usage hints for SpriteBatches, Meshes, and GraphicsBuffers to optimize data storage and access. | 0.8.0 | |
CanvasFormat | Canvas texture formats. | 0.9.0 | |
ColorMode | Controls how drawn images are affected by current color. | 0.2.0 | 0.9.0 |
CompareMode | Different types of stencil test and depth test comparisons. | 0.10.0 | |
CullMode | How Mesh geometry is culled when rendering. | 11.0 | |
DrawMode | Controls whether shapes are drawn as an outline, or filled. | ||
FilterMode | How the image is filtered when scaling. | ||
GraphicsFeature | Graphics features that can be checked for with love.graphics.getSupported. | 0.8.0 | |
GraphicsLimit | Types of system-dependent graphics limits. | 0.9.1 | |
IndexDataType | Vertex map datatype. | 11.0 | |
LineJoin | Line join style. | ||
LineStyle | The styles in which lines are drawn. | ||
MeshDrawMode | How a Mesh's vertices are used when drawing. | 0.9.0 | |
MipmapMode | Controls whether a Canvas has mipmaps, and its behaviour when it does. | 11.0 | |
PixelFormat | Pixel formats for Textures, ImageData, and CompressedImageData. | 11.0 | |
PointStyle | How points should be drawn. | 0.10.0 | |
StackType | Graphics state stack types used with love.graphics.push. | 0.9.2 | |
StencilAction | How a stencil function modifies the stencil values of pixels it touches. | 0.10.0 | |
TextureFormat | Controls the canvas texture format. | 0.9.0 | 0.10.0 |
TextureType | Types of textures (2D, cubemap, etc.) | 11.0 | |
VertexAttributeStep | The frequency at which a vertex shader fetches the vertex attribute's data from the Mesh when it's drawn. | 11.0 | |
VertexWinding | Vertex winding. | 11.0 | |
WrapMode | How the image wraps inside a large Quad. |
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info