Skip to main content
Inspiring
May 12, 2011
Question

SharedObject and hitTestObject plz help!

  • May 12, 2011
  • 1 reply
  • 419 views

Hi,

Im trying to get Flash to rember if the logo_mc has been hitTested with the holder, and if it has when the movie is played again it appears in the box

and not the original spot.

----------------------------------------------

var mySO:SharedObject = SharedObject.getLocal("ObjectPlace");

var logo_mc:Sticker = new Sticker  ;

addChild(logo_mc);

mySO.data.my_x = logo_mc.x = 150;

mySO.data.my_y = logo_mc.y = 100;

if (! mySO.data.my_y)

{

logo_mc.x = 150;

logo_mc.y = 100;

}

logo_mc.addEventListener(MouseEvent.MOUSE_DOWN, onDown);

function onDown(e:MouseEvent):void

{

var my_mc = e.target;

my_mc.startDrag();

}

logo_mc.addEventListener(MouseEvent.MOUSE_UP, onUP);

function onUP(e:MouseEvent):void

{

logo_mc.stopDrag();

if (logo_mc.hitTestObject(holder))

{

logo_mc.removeEventListener(MouseEvent.MOUSE_DOWN, onDown);

removeChild(logo_mc);

holder.addChild(logo_mc);

logo_mc.x = 15;

logo_mc.y = 10;

mySO.data.my_x = logo_mc.x;

mySO.data.my_y = logo_mc.y;

}

else

{

mySO.data.my_x = logo_mc.x = 150;

mySO.data.my_y = logo_mc.y = 100;

}

mySO.flush();

}

-------------------------------------------------------
Thanks Pavel

This topic has been closed for replies.

1 reply

pa-pavelAuthor
Inspiring
May 13, 2011

Think I got it working

var mySO:SharedObject = SharedObject.getLocal("new");

//mySO.clear();

logo_mc.x = mySO.data.my_x;

logo_mc.y = mySO.data.my_y;

trace("! mySO.data.my_x = " + ! mySO.data.my_x);

trace("mySO.data.my_x = " + mySO.data.my_y);

if (! mySO.data.my_x)

{

trace(mySO.data.my_x);

trace("no hit");

logo_mc.addEventListener(MouseEvent.MOUSE_DOWN, onDown);

logo_mc.addEventListener(MouseEvent.MOUSE_UP, onUP);

logo_mc.x = 150;

logo_mc.y = 100;

if (logo_mc.hitTestObject(holder))

{

trace("hit");

logo_mc.removeEventListener(MouseEvent.MOUSE_DOWN, onDown);

logo_mc.removeEventListener(MouseEvent.MOUSE_UP, onUP);

}

}

else

{

logo_mc.addEventListener(MouseEvent.MOUSE_DOWN, onDown);

logo_mc.addEventListener(MouseEvent.MOUSE_UP, onUP);

//logo_mc.x = 150;

//logo_mc.y = 100;

if (logo_mc.hitTestObject(holder))

{

trace("hit");

logo_mc.removeEventListener(MouseEvent.MOUSE_DOWN, onDown);

logo_mc.removeEventListener(MouseEvent.MOUSE_UP, onUP);

}

}

function onDown(e:MouseEvent):void

{

var my_mc = e.target;

my_mc.startDrag();

}

function onUP(e:MouseEvent):void

{

logo_mc.stopDrag();

if (logo_mc.hitTestObject(holder))

{

trace("hitTestObject");

logo_mc.removeEventListener(MouseEvent.MOUSE_DOWN, onDown);

logo_mc.removeEventListener(MouseEvent.MOUSE_UP, onUP);

logo_mc.x = 435;

logo_mc.y = 68;

}

else

{

trace("else");

logo_mc.x = 150;

logo_mc.y = 100;

}

mySO.data.my_x = logo_mc.x;

mySO.data.my_y = logo_mc.y;

mySO.flush();

}