Global Command: getCursorPos

From The Official Visionaire Studio: Adventure Game Engine Wiki
Revision as of 15:10, 2 May 2023 by EK (talk | contribs)

Get the current position of the mouse cursor.

Note that the function returns the cursor position in relation to the screen instead of in relation to the scene. This difference matters if your scene is larger than your screen resolution and thus scrollable. Have a look at example 2 on how to deal with this.

Related functions setCursorPos


Syntax

GetCursorPos()


Parameters

none


Return values

Type/Structure Description
table {x=int,y=int} The current mouse cursor position is returned as an associative array containing the elements x (int) and y (int).


Examples

Example 1: Check if the current cursor position matches a defined position.

-- Store the current position into a variable
local curPos = getCursorPos()

-- Check if the stored cursor position equals another {x,y} value
if curPos.x == 200 and curPos.y == 400 then
  return true
else
  return false
end


Example 2: Function to get the cursor position in relation to the scene by taking the current scroll position into account.

function getAbsoluteCursorPos()
  -- Store the current position into a variable
  local curPos = getCursorPos()

  -- Empty table to store the absolute position
  local curAbsPos = {}

  -- Add the current scroll position to the cursor position
  curAbsPos.x = game.ScrollPosition.x + curPos.x
  curAbsPos.y = game.ScrollPosition.y + curPos.y

  return curAbsPos
end