Featured post
flex - localToGlobal not working - for reals though -
i know there bajillion threads on topic, , maybe retarded, isn't working , think missing key?
lets have sprites _testtarget , _testparent nested this.
_testparent = new sprite(); this.addchild(_testparent); _testtarget = new sprite() _testparent.addchild(_testparent);
and lets want global cords of _testtarget. when localtoglobal 0,0 when know fact actual cords 200,100
var point:point = new point(_testtarget.x, _testtarget.y); point = _testtarget.localtoglobal(point); // returns 0,0 var point:point = new point(_testtarget.x, _testtarget.y); point = _testtarget.parent.localtoglobal(point); // returns 0,0 var point:point = new point(this.x, this.y); point = this.localtoglobal(point); // returns 0,0 var point:point = new point(this.x, this.y); point = this.parent.localtoglobal(point); // breaks, "parent" null
if helps, class/sprite instantiated inside of sprite, inside of sprite, inside of sprite...etc , reason cords 200,100 because 1 of parent containers set - thought localtoglobal supposed go way top layer? help?
you must have problem somewhere else (i can't see in code pasted, except 1 mentioned tandemadam).
this works expected:
var _testparent:sprite; var _testtarget:sprite; var _yetanotherparent:sprite; _yetanotherparent = new sprite(); this.addchild(_yetanotherparent); _testparent = new sprite(); _yetanotherparent.addchild(_testparent); _testtarget = new sprite() _testparent.addchild(_testtarget); _testparent.y = 100; _yetanotherparent.y = -500; var point:point = new point(_testtarget.x, _testtarget.y); point = _testtarget.parent.localtoglobal(point); trace(point); // (x=0, y=-400)
as rule of thumb, when translating between coordinate spaces, object on want call localtoglobal
or globaltolocal
parent of object you're interested in, because object's x , y offsets relative parent.
- Get link
- X
- Other Apps
Comments
Post a Comment