(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