WoW:SetTexCoord Transformations: Difference between revisions

Included a texture rotation method that worked for me
(Added a simpler rotateTexture() function)
(Included a texture rotation method that worked for me)
Line 177: Line 177:
  self:SetTexCoord((sin - cos), -(cos + sin), -cos, -sin, sin, -cos, 0, 0)
  self:SetTexCoord((sin - cos), -(cos + sin), -cos, -sin, sin, -cos, 0, 0)
  end
  end
==Simple Rotation of Textures about their Own Center==
It may just have been a lack of understanding on my part but the above methods did not work for me; Or at least did not meet my needs.
To be explicit, I wanted to be able to rotate a texture about its own center.
In other words, I wanted the texture to spin in place, and not rotate or move the texture about the center of the UI, or its parent's center.
The following code gives a rough idea of how to animate a texture to make it spin.
But the basic method can be seen in the :SetTexCoord method :
local angleInc = 0.25
function myOnUpdate(self, elapsed)
  self.timer = self.timer + elapsed;
  if ( self.timer > 0.05 ) then
  self.hAngle = self.hAngle - angleInc;
  self.s = sin(self.hAngle);
  self.c = cos(self.hAngle);
  miniNote:SetTexCoord( 0.5-self.s, 0.5+self.c,
  0.5+self.c, 0.5+self.s,
  0.5-self.c, 0.5-self.s,
  0.5+self.s, 0.5-self.c);
  self.timer = 0;
  end
end
angleInc has been precalculated as a Radians value - the larger it is, the faster the spin.
Or reduce the self.timer threshold to make a smoother rotation.
radians = (pi/180) * degrees
Anonymous user