Identifying the colliding clone

If object A collides with object B, then obviously object B collides with object A. So collision detection should be checked only on one of the two objects, not in both.

So, let's say A checks for collisions, finds it collided with an object and needs to identify the objects it collided with (B in this example).

If A and B are sprites this is trivial, but what if A and B are clones (possibily of different sprites, think about targets and bullets)?

I'm aware of the technique of identifying the colliding clone described in Collision detection with clones (ID recognition) - #4 by viberfoner, which basically runs a full scan of the clones (or neighbors) list checking each element for collision, which surely does work but it seems quite inelegant.

I was wondering if there is a more direct way for a sprite/clone to find the clone it just collided with. Ideally, there should be a reporter block that returns the clone that collides with the caller object, if any.

Any suggestion is welcome.
Thanks!

Welcome to the forums! This block below reports a list of all the clones that are currently being touched. You can use a for each block to do something with all the clones that are being touched.

Oh I mistakenly pressed "result pic" instead of "script pic"...

Clones are sprites! When you get a list of clones, it's a list of sprites, and you can ask one for its ID number (when you create a clone, increment a sprite-local variable ID) or whatever. So I would do Pumpkinhead's expression but with MY NEIGHBORS instead of MY CLONES.

Thank you both, I'm going to experiment with that block.