OnClientCursorMove: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by 3 users not shown)
Line 13: Line 13:
*'''absoluteX:''' the X coordinate of the mouse cursor, in pixels, measured from the left side of the screen.
*'''absoluteX:''' the X coordinate of the mouse cursor, in pixels, measured from the left side of the screen.
*'''absoluteY:''' the Y coordinate of the mouse cursor, in pixels, measured from the top of the screen.
*'''absoluteY:''' the Y coordinate of the mouse cursor, in pixels, measured from the top of the screen.
*'''worldX, worldY, worldZ:''' the 3D in-game world coordinates that the cursor is pointing at.
*'''worldX:''' the 3D in-game world X coordinate that the cursor is pointing at.
*'''worldY:''' the 3D in-game world Y coordinate that the cursor is pointing at.
*'''worldZ:''' the 3D in-game world Z coordinate that the cursor is pointing at.


==Source==
==Source==
Line 21: Line 23:
This example creates a text label at the bottom of the screen which displays the mouse position in pixels.
This example creates a text label at the bottom of the screen which displays the mouse position in pixels.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler( "onClientResourceStart", getResourceRootElement( ),
addEventHandler( "onClientResourceStart", resourceRoot,
     function ( )
     function ( )
         textLabel = guiCreateLabel( 0, .9, 1, .1, "X: -;  Y: -", true );
         textLabel = guiCreateLabel( 0, .9, 1, .1, "X: -;  Y: -", true );
Line 28: Line 30:
);
);


addEventHandler( "onClientCursorMove", getRootElement( ),
addEventHandler( "onClientCursorMove", root,
     function ( _, _, x, y )
     function ( _, _, x, y )
         guiSetText( textLabel, "X: " .. tostring( x ) .. ";  Y: ".. tostring( y ) )
         guiSetText( textLabel, "X: " .. tostring( x ) .. ";  Y: ".. tostring( y ) )
Line 34: Line 36:
);
);
</syntaxhighlight>
</syntaxhighlight>
[[pl:onClientCursorMove]]


==See Also==
==See Also==
===GUI events===
{{GUI_events}}
{{GUI_events}}
===Client event functions===
===Client event functions===
{{Client_event_functions}}
{{Client_event_functions}}

Latest revision as of 15:21, 1 June 2025

This event is called by the root element whenever the cursor is moved over the screen, by the player. It returns information about the world coordinates as well as the screen coordinates of where the player moved the cursor.

The difference between this event and onClientMouseMove, is that the latter is actually called by GUI elements. This is to prevent double calling of onClientCursorMove, as onClientCursorMove is always called.

Parameters

float cursorX, float cursorY, int absoluteX, int absoluteY, float worldX, float worldY, float worldZ
  • cursorX: the relative X coordinate of the mouse cursor. 0 = left side of the screen, 1 = right side.
  • cursorY: the relative Y coordinate of the mouse cursor. 0 = top of the screen, 1 = bottom.
  • absoluteX: the X coordinate of the mouse cursor, in pixels, measured from the left side of the screen.
  • absoluteY: the Y coordinate of the mouse cursor, in pixels, measured from the top of the screen.
  • worldX: the 3D in-game world X coordinate that the cursor is pointing at.
  • worldY: the 3D in-game world Y coordinate that the cursor is pointing at.
  • worldZ: the 3D in-game world Z coordinate that the cursor is pointing at.

Source

The source of this event is the root element.

Example

This example creates a text label at the bottom of the screen which displays the mouse position in pixels.

addEventHandler( "onClientResourceStart", resourceRoot,
    function ( )
        textLabel = guiCreateLabel( 0, .9, 1, .1, "X: -;  Y: -", true );
        guiLabelSetHorizontalAlign( textLabel, "center" );
    end
);

addEventHandler( "onClientCursorMove", root,
    function ( _, _, x, y )
        guiSetText( textLabel, "X: " .. tostring( x ) .. ";  Y: ".. tostring( y ) )
    end
);

See Also

Input

GUI


Client event functions