Search code examples
flashhittestflashbuilder4

AS3: HitTest Any Object


I am working on an application where an image serves as cursor. Now i would like to know at any time over which object the cursor is hovering. Sort of like a HitTestObject(*) where i can then see what object the * represents. Does anyone have any idea how i could accomplish this? (and using the mouse is not an option)


Solution

  • I have solved the problem already :) since the cursor was in a different sprite than the others, i had to do it this way, because i couldn't pass the objects to hover into an array.

            //First we will create a point that contains the x and y of this cursor.
            var _position:Point = new Point(x + (width/2), y + (height/2));
    
            //Secondly, we will get an array of elements that are under this point.
            var _objects:Array = parentApplication.getObjectsUnderPoint(_position);
    
            //If the length of the objectsList is longer than or equal to 2, we may assume that
            //there is an object
            if(_objects.length >= 2)
            {
                //Set the currentObject variable to the object the cursor is hovering over.
                //The minus two is simple. The cursor is always the last object under that point,
                //so we need the object before that.
                _currentObject = _objects[_objects.length - 2];
    
                //dispatch the event in the object.
                dispatchCursorEventToObject(EyeEvent.CURSOROVER);
            }