(sorry for direct addressing previous mail)

1) Do not instantiate objects in properties declaration list. Its 99%
cases bad.

Keep it like this:

package {

  //...

  public class GlobalSolutions extends MovieClip
  {
       //... (no instance, only declaration of class property)
       private var parent_container:Sprite;
       //...
  
       private function loadImage():void
       {
            // Instantiate it here.... BUT don't declare a new variable
            // Just use the class property. No "var" no ":Sprite" ok ?
            parent_container = new Sprite();
            addChild(parent_container)
            //...
       }

2) Later, I can see you write (in loaded()):

   displayObject.alpha = 0;
   TweenLite.to(parent_container, 1, {x:65, y:117, scaleX:0.5, scaleY:0.5, 
rotation:520, alpha:1});

So, displayObject has constantly alpha=0 and it is not visible (it is
not passed to the tween, so its alpha does not change). By intention I
wrote: 

   parent_container.alpha = 0; //(not displayObject = ...)

because later you tween both position, scale and alpha of one object - 
parent_container.

Parent's alpha, has nothing to do with the displayObject's alpha. The
displayObject is inside the parent but their properties (x,y,alpha
etc.) are still separate.

So, finally these two lines should be:

  parent_container.alpha = 0;
  TweenLite.to(parent_container, 1, {x:65, y:117, scaleX:0.5, scaleY:0.5, 
rotation:520, alpha:1}); }

g


Tuesday, February 09, 2010 (1:47:06 PM) beno - wrote:

>
On Tue, Feb 9, 2010 at 8:24 AM, Greg Ligierko <[email protected]> wrote:

All display objects have registration points (their internal 0,0
coordinates). Also bitmaps.

By default a loaded image (png) has its registration point in the
top-left corner. If you like to get rid of the improperly set
registration point then you may place the loaded image into a parent
container and align the image centrally inside its parent:

 stage -> parent_container -> your_image

You can do this by creating a new Sprite (or MovieClip) in the
Event.COMPLETE handler:


 function loaded(evt:Event):void
 {
          //create the parent
          var parent_container:Sprite = new Sprite();
          // ...and add it to the stage
          addChild(parent_container)


          var loaderInfo:LoaderInfo = evt.target as LoaderInfo;
          var displayObject:DisplayObject = loaderInfo.content;
          displayObject.width = 150;
          displayObject.height = 150;

          // instead, move the parent
          //displayObject.x = 1000;
          //displayObject.y = 208;
          parent_container.x = 1000;
          parent_container.y = 208;

          //note that the displayObject is added to parent_container
          parent_container.addChild(displayObject);

          // now, place the displayObject's center over its parent
          // (0,0) point, by moving half width and half height in
          // top-left direction
          displayObject.x = -displayObject.width / 2;
          displayObject.y = -displayObject.height / 2;

          // see what you get:
          trace('parent_container.x: ' + parent_container.x);
          trace('parent_container.y: ' + parent_container.y);
          trace('displayObject.x: ' + displayObject.x);
          trace('displayObject.y: ' + displayObject.y);

          //..

          //.. continue with tween etc. but (!) perform all operations on
          // the parent container:
          parent_container.alpha = 0;
          TweenLite.to(parent_container, 1, {x:65, y:117, scaleX:0.5,

          scaleY:0.5, rotation:520, alpha:1});
 }


Well now that makes a lot of sense! However, here's what's traced:

parent_container.x: 100
parent_container.y: 208
displayObject.x: -75
displayObject.y: -75

and the object doesn't show up. I've been playing with values for the x and y 
of displayObject but with no satisfactory results. Just to be on the safe side, 
the code follows. Please advise once again.
TIA,
beno

package
{
 import flash.display.Sprite;
 import flash.events.Event;
   import flash.events.ProgressEvent;
   import flash.events.Event;
   import flash.events.MouseEvent;
   import flash.display.MovieClip;
 import flash.display.Loader;
 import flash.display.LoaderInfo;
 import flash.display.DisplayObject;
 import flash.net.URLRequest;
 import flash.display.Shape;
 import flash.geom.*;
 import flash.display.Bitmap;
 import flash.display.BitmapData;
 import flash.filters.GlowFilter;
 import flash.filters.BitmapFilterQuality;
 import flash.geom.Rectangle;
 import com.greensock.*;
   import com.greensock.easing.*;
 import SpinningWorld;
 
 public class GlobalSolutions extends MovieClip
   {
      //Import Library Assests
  public var mySpinningWorld:SpinningWorld;
  public var radius:int = 500;
  public var textureMap:BitmapData;
  public var myLogo:Bitmap;
          var parent_container:Sprite = new Sprite();
  
      public function GlobalSolutions()
      {
         init();
      }
   
      public function init():void
      {
   mySpinningWorld = new SpinningWorld();
   mySpinningWorld.x = -500;
   mySpinningWorld.y = -500;
   mySpinningWorld.alpha = 0;
   addChild(mySpinningWorld);
   TweenLite.to(mySpinningWorld, 1, {x:-100, y:0, scaleX:0.4, scaleY:0.4, 
alpha:1});
   loadImage();
  }

  private function loadImage():void 
  {
          var parent_container:Sprite = new Sprite();
          addChild(parent_container)

   var path:String = "images/logo.png";
   var req:URLRequest = new URLRequest(path);
   var loader:Loader = new Loader();
   loader.load(req);
   loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded);
  }

  function loaded(evt:Event):void
  {
   var loaderInfo:LoaderInfo = evt.target as LoaderInfo;
   var displayObject:DisplayObject = loaderInfo.content;
   displayObject.width = 150;
   displayObject.height = 150;
          parent_container.x = 100;
          parent_container.y = 208;
          parent_container.addChild(displayObject);
          displayObject.x = -displayObject.width / 2;
          displayObject.y = -displayObject.height / 2;
          trace('parent_container.x: ' + parent_container.x);
          trace('parent_container.y: ' + parent_container.y);
          trace('displayObject.x: ' + displayObject.x);
          trace('displayObject.y: ' + displayObject.y);

   addChild(displayObject);
   displayObject.alpha = 0;
   TweenLite.to(parent_container, 1, {x:65, y:117, scaleX:0.5, scaleY:0.5, 
rotation:520, alpha:1});
  }
// DisplayList
   }
}





-- 
Pozdrowienia,
 Greg Ligierko

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to