DgsSetPosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(DGS (OOP Syntax)/(Template Organization) Mission)
m (little correction)
 
Line 7: Line 7:
bool dgsSetPosition ( element theElement, float x, float y, bool relative [, bool isCenterPosition = false ] )
bool dgsSetPosition ( element theElement, float x, float y, bool relative [, bool isCenterPosition = false ] )
</syntaxhighlight>  
</syntaxhighlight>  
{{DGS/OOP|The variable is a conjunction: '''position.x''' (get X position) and '''position.y''' (get Y position)|DGSElement:setPosition||position|dgsGetPosition||}}
{{DGS/OOP|The variable is a conjunction: '''position.x''' (set X position), '''position.y''' (set Y position) and '''position.relative''' (set Relative property)|DGSElement:setPosition||position|dgsGetPosition||}}


===Required Arguments===  
===Required Arguments===  

Latest revision as of 18:23, 16 April 2021

This function sets the position of a DGS element.

Syntax

bool dgsSetPosition ( element theElement, float x, float y, bool relative [, bool isCenterPosition = false ] )

DGS OOP Syntax Help! I don't understand this!

Required Arguments

  • theElement: The DGS element to change position for
  • x: Position over the X axis
  • y: Position over the Y axis
  • relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing sizes relative to the parent.

Optional Arguments

  • isCenterPosition: A bool of whether the input x/y is the center position of a dgs element.

Returns

Returns true if the position has been successfully set, false otherwise.

Example

This example creates a label. When an element is clicked, the label displays in the position of the element telling you what kind of element you have clicked. It hides after 5 seconds.

DGS = exports.dgs
--create an empty label
local myLabel = DGS:dgsCreateLabel  ( 0, 0, 1, 1, "", true )

function addLabelOnClick ( button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement )
	--if an element was clicked on screen
	if ( clickedElement ) then
		--retreive the element type
		local elementType = DGS:dgsGetType ( clickedElement )
		--change the label text to that element type
		DGS:dgsSetText ( myLabel, elementType )
		--and place it in the position of where the element is
		DGS:dgsSetPosition ( myLabel, absoluteX, absoluteY, false )
		--hide the text by passing an empty string 5 seconds later
		setTimer ( DGS:dgsSetText, 5000, 1, myLabel, "" )
	end
end
addEventHandler ( "onDgsMouseClick", getRootElement(), addLabelOnClick )

See Also

General Functions

General Events