steinerla
10-23-2009, 06:02 PM
in my .as file(targetTest), I have
package
{
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.DisplayObject;
public class targetTest extends Sprite
{
public function targetTest()
{
var square:Shape = new Shape( );
square.graphics.beginFill( 0xff9933 , 1 );
square.graphics.drawRect( 0 , 0 , 40, 40 );
square.x = 40;
square.y = 40;
addChild(square);
trace ("passed through");
}
}
}
in another .as file(MySquare), I have:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class MySquare extends MovieClip
{
public function MySquare()
{
addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
addEventListener(MouseEvent.MOUSE_UP,dropIt);
}
}
}
on my timeline:
var trgtm1:targetTest = new targetTest();
this.addChild(trgtm1);
var m1:MySquare = new MySquare();
m1.theText.text="1";
m1.mouseChildren=false;
m1.x=50;
m1.y=340;
addChild(m1);
function pickUp(event:MouseEvent):void {
event.target.startDrag(true);
txt_response.text = "";
startX = event.target.x;
startY = event.target.y;
}
function dropIt(event:MouseEvent):void {
event.target.stopDrag();
var myTargetName:String = "trgt" + event.target.name;
var myTarget:DisplayObject = getChildByName(myTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
event.target.removeEventListener(MouseEvent.MOUSE_ DOWN, pickUp);
event.target.removeEventListener(MouseEvent.MOUSE_ UP, dropIt);
event.target.buttonMode = false;
event.target.x = myTarget.x;
event.target.y = myTarget.y;
txt_response.text = "good job";
} else {
event.target.x = startX;
event.target.y = startY;
gotoAndStop(2);
txt_response.text = "try again";
}
}
the compiler is clean, however, the only thing that's happening is the "m1" symbol is returning to its original x,y position. Any thoughts?
Thanks in advance for your help : ).
Mark
package
{
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.DisplayObject;
public class targetTest extends Sprite
{
public function targetTest()
{
var square:Shape = new Shape( );
square.graphics.beginFill( 0xff9933 , 1 );
square.graphics.drawRect( 0 , 0 , 40, 40 );
square.x = 40;
square.y = 40;
addChild(square);
trace ("passed through");
}
}
}
in another .as file(MySquare), I have:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class MySquare extends MovieClip
{
public function MySquare()
{
addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
addEventListener(MouseEvent.MOUSE_UP,dropIt);
}
}
}
on my timeline:
var trgtm1:targetTest = new targetTest();
this.addChild(trgtm1);
var m1:MySquare = new MySquare();
m1.theText.text="1";
m1.mouseChildren=false;
m1.x=50;
m1.y=340;
addChild(m1);
function pickUp(event:MouseEvent):void {
event.target.startDrag(true);
txt_response.text = "";
startX = event.target.x;
startY = event.target.y;
}
function dropIt(event:MouseEvent):void {
event.target.stopDrag();
var myTargetName:String = "trgt" + event.target.name;
var myTarget:DisplayObject = getChildByName(myTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == myTarget){
event.target.removeEventListener(MouseEvent.MOUSE_ DOWN, pickUp);
event.target.removeEventListener(MouseEvent.MOUSE_ UP, dropIt);
event.target.buttonMode = false;
event.target.x = myTarget.x;
event.target.y = myTarget.y;
txt_response.text = "good job";
} else {
event.target.x = startX;
event.target.y = startY;
gotoAndStop(2);
txt_response.text = "try again";
}
}
the compiler is clean, however, the only thing that's happening is the "m1" symbol is returning to its original x,y position. Any thoughts?
Thanks in advance for your help : ).
Mark