Hey gang,
I have a map movie that needs to test whether two near objects will overlap
one another BEFORE I actually instantiate and draw the movie clip, so I need
a good object collision test that does not use hitTest(). I have a set of x
and y and size properties for each object that I use to place them when
they're created, but what I want to do is if the objects will overlap at any
point, merge them into a single object.

Here's an example of what I need to catch:

Point A Los Angeles (x: 150, y: 99, size: 8 pixels)
Point B: San Diego (x: 153, y: 103, size: 8 pixels)

When drawn, the LA dot and San Diego dot will overlap a little and therefore
cause a problem rendering pop-up content, so I want to merge them. What I
need is a reliable check to see if that happens. Right now I'm using:

var uLeftX:Number = cityA._x - 2;
var lRightX:Number = (cityA._x + _size) +2;
var uLefttY:Number = cityA._y - 2;
var lRightY:Number = (cityA._y + _size) +2;

if (mapObjects.length > 1) {
   for (var mo:Number = 0; mo < mapObjects.length; mo++) {
       // GET VISIBLE AREA OF CURRENT MAP OBJECT
       var tmpULeftX:Number = parseInt(mapObjects[mo]._x) - 2;
       var tmplRightX:Number = (parseInt(mapObjects[mo]._x) + _dotSize) +2;

       var tmpuLeftY:Number = parseInt(mapObjects[mo]._y) - 2;
       var tmplRightY:Number = (parseInt(mapObjects[mo]._y) + _dotSize) +2;
       if ((uLeftX > tmpULeftX && uLeftX < tmplRightX) && (uLefttY >
tmpuLeftY && uLefttY < tmplRightY)) {
           trace("Dot collision occures between " + cityA.cityName + " and
" + mapObjects[mo].cityName);
       }
   } // END for
} // END if

The above script DOES detect collisions, but not between the LA and San
Deigo properties listed above. Can anyone see a flaw in the line that tests
the overlap?

-Jeff
--
Jeff Fox
[EMAIL PROTECTED]

--
Jeff Fox
[EMAIL PROTECTED]
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to