GetWorldFromScreenPosition

From Multi Theft Auto: Wiki
Revision as of 02:09, 18 January 2015 by HyPeX (talk | contribs)
Jump to navigation Jump to search

This function allows you to retrieve the world position corresponding to the 2D position on the screen, at a certain depth.

If you want to detect what element is at a particular point on the screen, use processLineOfSight between the camera position and the position returned from this function when passed a high depth value (100 or so, depending how far away you want to detect elements at).

  • Note - setting 0 as a distance will cause the points retrived to be right ontop of the screen, so if used for drawing ideas on the screen - using distance 0 (or a very close value to 0, will result in the image being not visible).

Syntax

float, float, float getWorldFromScreenPosition ( float x, float y, float depth )

Required Arguments

  • x: A float value indicating the x position on the screen, in pixels.
  • y: A float value indicating the y position on the screen, in pixels.
  • depth: A float value indicating the distance from the camera of the point whose coordinates we are retrieving, in units.

Returns

Returns three x, y, z floats indicating the world position if successful, false otherwise.

Example

This example binds the local player's "i" key to a function that creates an explosion in the middle of the screen.

function explosion ()
  local w, h = guiGetScreenSize ()
  local x, y, z = getWorldFromScreenPosition ( w/2, h/2, 10 )
  createExplosion ( x, y, z, 11 )
end
bindKey ( "i", "down", explosion )

See Also