18 April 2011

AS3 function to rotate a 2D or 3D MovieClip or Sprite around its center or change to any registration point

OK here we go - I looked everywhere for this one but only found bits of code from various forums and blogs that were part of classes and packages and as such, full of dependent variables. Anyway, after a bit of advice from the very helpful community at StackOverflow and a bit of tinkering, she's up and running!

The function below will rotate a DisplayObject around any point on a 2D or 3D plane. This is particularly useful for rotating around an object's center point so this is the default behaviour. Enjoy!


Please see right hand pane before copying my code >>>


//ROTATE AN OBJECT AROUND A POINT OR ITS CENTER POINT:
function rotObj(mc, angle, axis="Z", regX='center', regY=0, regZ=0) {
 mc.z=mc.z //workaround for matrix3D bug
 if (axis=="X") {
  axis=Vector3D.X_AXIS;
 } else if (axis=="Y") {
  axis=Vector3D.Y_AXIS;
 } else if (axis=="Z") {
  axis=Vector3D.Z_AXIS;
 }
 if(regX=='center'){//get center point:
  regX=mc.x+mc.width*1.5
  regY=mc.y+mc.height*1.5
  regZ=mc.z
 }
 mc.transform.matrix3D.appendTranslation(-regX,-regY,-regZ);
 mc.transform.matrix3D.appendRotation(angle, axis);
 mc.transform.matrix3D.appendTranslation(regX,regY,regZ);
}
//SAMPLE USE:
rotObj(myMC, 45)  //rotates myMC 45 degrees around its center point
rotObj(myMC, 45, "Y") //rotates myMC 45 degrees on Y axis around its center point
rotObj(myMC, 45, "X", 200, 300) //rotates myMC 45 degrees on X axis around the point 200,300

11 comments:

Anonymous said...

Simply doesn't work

Unknown said...

coach outlet
michael kors handbags
longchamp bags
adidas nmd
michael kors outlet online
polo ralph lauren outlet online
cheap mlb jerseys
coach factory outlet
cheap uggs
cheap uggs
20161228caiyan

Unknown said...

20180623xiaoke
christian louboutin
oakley sunglasses wholesale
kd 10 elite
ray ban sunglasses outlet
pandora charms
true religion jeans sale
ralph lauren outlet
canada goose jackets
ugg boots on sale
chloe sunglassess

Pradeep Appslure said...

Mobile app development company in mumbai

The India said...

PPC Service in Delhi
PPC Companies in Delhi
SEO Company in Delhi
SEO Company in Delhi NCR
SMO Company in Delhi
SMO Company in India

prashant said...

Nice Post!

Best AC in India
Work from Home Jobs
Places to Visit in mumbai
NTES
Places to Visit in Delhi

Tekniko Global said...

Looking for a mobile app development company in Delhi? Given our need for constant global connectivity, creative mobile app developers are frequently sought-after. We researched hundreds of app development companies in Noida.
mobile app development company in delhi

Bindhu Lata said...

Nice post I have been searching for a useful post like this on salesforce course details, it is highly helpful for me and I have a great experience with this   
Salesforce Training India 

Pradeep Appslure said...

Appslure is a high rated Mobile Game development company in Delhi. We are no 1 company for IOS & Android games.
Game Development company in Delhi

Pradeep Appslure said...

Appslure is a mobile Application Development Company in Gurgaon. Our app developers team are expert in iOS, Android, iPhone
Mobile app development company in gurgaon

Pradeep Appslure said...

mobile app development company in delhi

Post a Comment

Cron Design Studio: Dublin based web design & software development