Widget API: Model:SetPosition

Widget API ← Model < SetPosition

SyntaxEdit

SetPosition( x, y, z );

ParametersEdit

ArgumentsEdit

  • 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

ReturnsEdit

  • nil

NotesEdit

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