Jason - This is a valid point, but even if flash is doing it with every mouse move, it's probably not a good idea to make it do it all over again each time... But I'm not sure what's more efficient - mouseMove, enterFrame or mouseOver?
> -----Original Message----- > From: Jason Boyd [mailto:[EMAIL PROTECTED] > Sent: 07 February 2007 19:43 > To: Flashcoders mailing list > Subject: Re: [Flashcoders] determining which object is > displayed at agivenpoint > > I've been following this thread and am just curious -- > everyone seems to be assuming that looping through all clips > and doing hitTest() is inefficient, but presumably this is > exactly what the Flash player is doing with every mouse move. > Is there some good reason to assume the Flash player is doing > this internally much more efficiently than the function > exposed through AS as hitTest()? Without a priori knowledge, > I'd recommend trying this, and if it doesnt turn out to > noticeably slow anything, you're done. > > > > On 2/7/07, Karina Steffens <[EMAIL PROTECTED]> wrote: > > > > Hi Vishal, > > > > I apologise ahead if I'm being dense here, but nobody seems to have > > mentioned the obvious solution: > > Looping through the mcs in your third party flash movie and > checking > > for hit-test with the mouse position. > > > > var hit_array:Array = []; > > for (var i:String in target_mc){ > > var mc:MovieClip = target_mc[i]; > > if (!mc instanceof MovieClip){ > > //not a movie clip - ignore > > continue; > > } > > //Check for hit test > > if (target_mc[i].hitTest(_root._xmouse, _root._ymouse, true) > > hit_array.push(target_mc); > > } > > } > > > > At the end of it you have an array of all the movie clips that > > "scored" a hit test. > > > > This code is just off the top of my head, an thoroughly > untested. Also > > Depending on the structure of your flash movie, you will > probably want > > to delve deeper and test for a hit within each movie clip > that you encounter. > > It's also not very efficient, especially if you have to do > recursion, > > so I wouldn't recommend doing it too often. (don't use > onMouseMove but > > rather an enterFrame event, an interval or some kind of > once-off event > > - depending on your application). > > > > Alternatively, if you already know which objects should be > tested, you > > can do this more efficiently by hard-coding them manually into an > > array and looping within the array to check for a hit test. Not > > pretty, but should work. > > > > And finally, something that occurred to me while writing this post, > > you could try temporarily switching off the _visible > property of the > > overlapping clip just before checking for _droptarget - and then > > switching it on again. > > This might be the least processor-intensive way of doing this. > > > > Cheers, > > Karina > > > > > > > > > > > > > -----Original Message----- > > > From: Vishal Kapur [mailto:[EMAIL PROTECTED] > > > Sent: 07 February 2007 01:26 > > > To: Flashcoders mailing list > > > Subject: Re: [Flashcoders] determining which object is > displayed at > > > agivenpoint > > > > > > Ok, got it. Thanks for the suggestion. I tried this but > it doesn't > > > work with the third-party flash movie I am looking at. > They have an > > > movie clip with _alpha set to 0 that covers the stage at a depth > > > higher than all other visible elements. > > > As a result _droptarget is always set to that object. > What I need > > > is something that takes into account visibility. > > > > > > Any other thoughts on this? > > > > > > -- Vishal > > > > > > > > > On 2/6/07, Mike Mountain <[EMAIL PROTECTED]> wrote: > > > > What he's saying is that _droptarget will tell you exactly > > > what is at > > > > the top under the users mouse - but in order to use it you > > > have to use > > > > startDrag to fool it in to working. Maybe you could drag an > > > invisible > > > > clip around or something. > > > > > > > > M > > > > > > > > > -----Original Message----- > > > > > From: [EMAIL PROTECTED] > > > > > [mailto:[EMAIL PROTECTED] On > Behalf Of > > > > > Vishal Kapur > > > > > Sent: 06 February 2007 16:03 > > > > > To: Flashcoders mailing list > > > > > Subject: Re: [Flashcoders] determining which object is > > > displayed at > > > > > a givenpoint > > > > > > > > > > I don't understand what you're suggesting. The user is > > > not dragging > > > > > the movieclip. > > > > > > > > > > The idea is to write a function with a signature like: > > > > > function getObjectAtPoint(xmouse:Number, ymouse:Number):Object > > > > > > > > > > > > ECM Systems Ltd, Ellifoot Park, Burstwick, East > Yorkshire HU12 9DZ > > > > Tel: 01964 672000 > > > > Fax: 01964 671102 > > > > Registered in England no. 01646471 The information contained > > > > within this email expresses the > > > views of the sender and not necessarily those of the company. > > > It is private and confidential and may be legally privileged. > > > It is intended solely for those authorised to receive it. > If you are > > > not the intended recipient you are hereby notified that any > > > disclosure, copying, distribution or action taken in > reliance on its > > > contents is strictly prohibited and may be unlawful. If you have > > > received this email in error, please telephone us immediately on > > > 01964 672000 or email a reply to highlight the error and > then delete > > > it from your system. This email may contain links to > web-sites, the > > > contents of which ECM Systems Ltd have no control over and can > > > accept no responsibility for. Any attachments have been > > > virus-checked before transmission; however, recipients > are strongly > > > advised to carry out their own virus checking as ECM > Systems Ltd do > > > not warrant that such attachments are virus-free. Please > note that > > > this email has been created in the knowledge that > Internet email is > > > not a secure communications medium. We advise that you understand > > > and observe this lack of security when emailing us. > > > > > > > > ECM Systems Ltd, Ellifoot Park, Burstwick, East > Yorkshire HU12 9DZ > > > > > > > > Tel: 01964 672000 > > > > Fax: 01964 671102 > > > > > > > > Registered in England no. 01646471 > > > > > > > > The information contained within this email expresses the > > > views of the sender and not necessarily those of the company. > > > > It is private and confidential and may be legally > privileged. It > > > > is intended solely for those authorised to receive it. If you > > > are not the > > > > intended recipient you are hereby notified that any disclosure, > > > > copying, distribution or action taken in reliance on its > > > contents is > > > > strictly prohibited and may be unlawful. If you have > received this > > > > email in error, please telephone us immediately on > 01964 672000 or > > > > email a reply to highlight the error and then delete it > > > from your system. This email may contain links to web-sites, the > > > contents of which ECM Systems Ltd have no control over and can > > > accept no responsibility for. Any attachments have been > > > virus-checked before transmission; however, recipients > are strongly > > > advised to carry out their own virus checking as ECM > Systems Ltd do > > > not warrant that such attachments are virus-free. > > > > Please note that this email has been created in the > > > knowledge that Internet email is not a secure > communications medium. > > > > We advise that you understand and observe this lack of > > > security when emailing us. > > > > > > > > > > > > > > > > _______________________________________________ > > > > [email protected] > > > > 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 > > > > > > > _______________________________________________ > > > [email protected] > > > 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 > > > > > > > _______________________________________________ > > [email protected] > > 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 > > > _______________________________________________ > [email protected] > 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 > _______________________________________________ [email protected] 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

