|
|
Set Registration point in AS3 If you create a Sprite or MovieClip object dynamically in Flash or Flex, there is no method to set the translation point. You can do this in the Flash development environment. You can dynamically create and set the registration point, to center or any other point on the object. Code Here is an easy method call to set the registration point of the MovieClip object. You can turn on/off the display of the registration point. Remember to first addChild of the movieclip before calling this method. Usage To center the registration point, just call the method, and display the registration point call. .. setRegistrationPoint( mc, mc.width >> 1, mc.height >> 1, true); .. Note: The binary shift operation (mc.width >> 1) is used to get mc's midpoint. It's equivelent to width/2. To set the registration point to the top right corner of the sprite call. .. setRegistrationPoint( mc, mc.width, 0, true); .. Example Move the cursor in the y direction to rotate the MovieClip. The 'x' marks the registration point Thoughts I am not an advocate of passing the object I wish to manipulate to a method. Much rather call the method FROM that object. It's a more natural way of describing and solving a problem. Ideally the best way to manage this is to call the setRegistration method FROM the object you wish to manipulate, i.e. myobject.setRegistrationPoint(x,y,showpoint); I know this is a small point in syntax notation, however I strongly believe in being disciplined in this fashion. Problem solving and readability of your code becomes greatly enhanced. Keep your syntax clean and let the language describe what you are solving, the more you deviate away from this, the more Italian we become (spaghetti code) References The original code by eightlines |
||
| |||||||||||||||||||||