Not quite sure how to title this but i'll explain..

I'm doing some code which includes a jigsaw.. now, the jigsaw image is a PNG which has transparent sections. Instead of just leaving it so the hitbox area is the whole movieclip, i have a tiny bit of code which checks if the PNG pixel at that point is transparent or not. If it isn't, then it's part of the piece so the draging of it starts. This is controlled via a Mouse_Down event on the jig itself (to start draging) and a Mouse_Up to stop. When you click and it sees the bit is transparent, it doesn't allow the dragging to start. Simple, works fine.

but....

What if there is another jig under the one you clicked on? the Mouse_Down event won't fire again until you release the mouse and then click again. I've put in a depth change so the new piece is on top, but you need that second click to start the dragging..

I would like it to kinda say 'Oh, can't click on this one? well, lets check and start it on the next one'.. the only way i can think to do this is with a loop which then checks every single jig to see which one you have clicked on and then if it's a valid area to click on. ideally, i would perfer to do it without this waste of processor power but i'm not sure if there is a way..

Any ideas? a Dispatch event call for the Mouse_Down would be pointless cause it needs to know the target, so i'm back to the loop.. changing the mouse down to be the stage and then check which piece is being click on (and then check the depth) is also pointless..