I am working on a project where you have an object that will be dropped on another object and a HitTest performed. But I’m getting the following error. Any ideas on why?
Thanks for any help.
//ERROR:
//TypeError: Error #2007: Parameter hitTestObject must be non-null.
// at flash.display::DisplayObject/_hitTest()
// at flash.display::DisplayObject/hitTestObject()
import flash.events.MouseEvent;
import flash.media.Sound
import flash.display.*;
var myLetters:MovieClip = new MovieClip();
var a1:a_letter = new a_letter();
var a_Target:a_letterTarget = new a_letterTarget();
function CreateLetters()
{
addChild(myLetters);
myLetters.x = -10;
myLetters.y = 0;
myLetters.addChild(a1);
a1.x = 35;
a1.y = 40;
a1.name = "a_letter";
myLetters.addChild(a_Target);
a_Target.x = 35;
a_Target.y = 200;
a_Target.name = "a_letterTarget";
}
CreateLetters();
Main();
var xPos:int;
var yPos:int;
function Main():void
{
addListeners(a1);
}
function getPosition(target:Object):void
{
xPos = target.x;
yPos = target.y;
}
function dragObject(e:MouseEvent):void
{
getPosition(e.target);
e.target.startDrag(true);
}
function stopDragObject(e:MouseEvent):void
{
if (e.target.hitTestObject(getChildByName(e.target.name + "Target")))
{
e.target.x = getChildByName(e.target.name + "Target").x;
e.target.y = getChildByName(e.target.name + "Target").y;
}
else
{
e.target.x = xPos;
e.target.y = yPos;
}
e.target.stopDrag();
}
function addListeners(... objects):void
{
for (var i:int = 0; i < objects.length; i++)
{
objects*.addEventListener(MouseEvent.MOUSE_DOWN, dragObject);
objects*.addEventListener(MouseEvent.MOUSE_UP, stopDragObject);
}
}