Look into flash.geom.Rectangle, specifically the intersects(Rectangle) method.
On 2/23/07, Jeff Fox <[EMAIL PROTECTED]> wrote:
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
-- T. Michael Keesey Director of Technology Exopolis, Inc. 2894 Rowena Avenue Ste. B Los Angeles, California 90039 -- The Dinosauricon: http://dino.lm.com Parry & Carney: http://parryandcarney.com ISPN Forum: http://www.phylonames.org/forum/ _______________________________________________ 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