DxDrawImage: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 31: Line 31:
Example of a pendulum swinging from the top of the screen, made using dxDrawImage.
Example of a pendulum swinging from the top of the screen, made using dxDrawImage.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local rootElement = getRootElement()
local screenWidth,screenHeight = guiGetScreenSize()  -- Get screen resolution.
local screenWidth,screenHeight = guiGetScreenSize()  -- Get screen resolution.


Line 46: Line 45:


function HandleTheRendering ( )
function HandleTheRendering ( )
addEventHandler("onClientRender",rootElement, renderDisplay)  -- Keep everything visible with onClientRender.
addEventHandler("onClientRender", getRootElement(), renderDisplay)  -- Keep everything visible with onClientRender.
end
end
addEventHandler("onClientResourceStart",resourceRoot, HandleTheRendering)
addEventHandler("onClientResourceStart",resourceRoot, HandleTheRendering)

Revision as of 20:09, 25 December 2011

Draws an image on the screen for a single frame. In order for the image to stay visible continuously, you need to call this function with the same parameters on each frame update (see onClientRender).

Syntax

bool dxDrawImage ( float posX, float posY, float width, float height, mixed image [, float rotation = 0, float rotationCenterOffsetX = 0, 
float rotationCenterOffsetY = 0, int color = white, bool postGUI = false ] )

Required Arguments

  • posX: the absolute X coordinate of the top left corner of the image
  • posY: the absolute Y coordinate of the top left corner of the image
  • width: the absolute width of the image
  • height: the absolute height of the image
  • image: Either a material element or a filepath of the image which is going to be drawn. (.dds images are also supported). Image files should ideally have dimensions that are a power of two, to prevent possible blurring.

Optional Arguments

  • rotation: the rotation, in degrees for the image.
  • rotationCenterOffsetX: the absolute X offset from the image center for which to rotate the image from.
  • rotationCenterOffsetY: the absolute Y offset from the image center for which to rotate the image from.
  • color: Tints the image with a value produced by tocolor or hexadecimal number in format: 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue).
  • postgui : A bool representing whether the image should be drawn on top of or behind any ingame GUI (rendered by CEGUI).

Returns

Returns true if successful, false otherwise.

Example

Click to collapse [-]
Client

Example of a pendulum swinging from the top of the screen, made using dxDrawImage.

local screenWidth,screenHeight = guiGetScreenSize()  -- Get screen resolution.


function renderDisplay ( )
	local seconds = getTickCount() / 1000
	local angle = math.sin(seconds) * 80
	-- This will draw the graphic file 'arrow.png' at the top middle of the screen
	-- using the size of 100 pixels wide, and 240 pixels high.
	-- The center of rotation is at the top of the image.
	dxDrawImage ( screenWidth/2 - 50, 0, 100, 240, 'arrow.png', angle, 0, -120 )
end


function HandleTheRendering ( )
	addEventHandler("onClientRender", getRootElement(), renderDisplay)  -- Keep everything visible with onClientRender.
end
addEventHandler("onClientResourceStart",resourceRoot, HandleTheRendering)

See Also