GetWorldFromScreenPosition

From Multi Theft Auto: Wiki
Revision as of 11:39, 25 October 2008 by Paul Cortez (talk | contribs) (It's in pixels, it's not relative.)
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).

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