on beginSprite me
me .FindLowerSprite()
END beginSprite
on mouseUp me
me .TransmitClick()
END mouseUp
on FindLowerSprite me
nSprite = me . spriteNum - 1
rMyRect = sprite ( me . spriteNum ). rect
pnIntersectSprite = 0
repeat with nTest = nSprite down to 1
rTestRect = sprite (nTest). rect
rIntersect = intersect ( rMyRect, rTestRect )
if rIntersect <> rect ( 0 , 0 , 0 , 0 ) then
pnIntersectSprite = nTest
exit repeat
end if
end repeat
END FindLowerSprite
on TransmitClick me
if pnIntersectSprite <> 0 then
sendSprite ( pnIntersectSprite, #mouseUp )
end if
END TransmitClick
on beginSprite me
me .FindLowerSprite()
END beginSprite
on mouseUp me
me .TransmitEvent( #mouseUp )
END mouseUp
on FindLowerSprite me
nSprite = me . spriteNum - 1
rMyRect = sprite ( me . spriteNum ). rect
pnIntersectSprite = 0
repeat with nTest = nSprite down to 1
rTestRect = sprite (nTest). rect
rIntersect = intersect ( rMyRect, rTestRect )