Widget API: Model:SetPosition

From AddOn Studio
Revision as of 04:46, 15 August 2023 by Move page script (talk) (Move page script moved page API Model SetPosition to API Model SetPosition without leaving a redirect)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Widget API ← Model < SetPosition

Syntax

SetPosition( x, y, z );

Parameters

Arguments

  • x (float) - sets the x-value of the model position
  • y (float) - sets the y-value of the model position
  • z (float) - sets the z-value of the model position
positive values of x will move the model right, negative will move it left
positive values of y will move the model up, negative will move it down
positive values of z will bring the model nearer to you, negative will bring it away

Returns

  • nil

Notes

The bottom left corner of the Model frame will always have coordinates (0,0,0). However, the top right corner's coordinate depends upon the width and height of the Model frame, as well as the screen resolution returned by GetScreenWidth/GetScreenHeight. The following formula determines the Model-relative coordinate that corresponds to the top-right of the Model frame (CoordRight,CoordTop,0):

local Scale = UIParent:GetEffectiveScale();
local Hypotenuse = ( ( GetScreenWidth() * Scale ) ^ 2 + ( GetScreenHeight() * Scale ) ^ 2 ) ^ 0.5;

local CoordRight = ( MyModelFrame:GetRight() - MyModelFrame:GetLeft() ) / Hypotenuse; -- X
local CoordTop = ( MyModelFrame:GetTop() - MyModelFrame:GetBottom() ) / Hypotenuse; -- Y