Here is an example that show you can use sprites or images, and yes you can use bitmap art you just need to define an area for each object like I have done in this example:
sync on
cls rgb(255,0,0)
get image 1,0,0,50,50
cls rgb(0,255,0)
get image 2,0,0,50,50
cls 0
x=rnd(250) : y=rnd(400)
x2=rnd(250)+300 : y2=rnd(400)
DO
cls
if mouseclick()=1 and area(mousex(),mousey(),x,y,x+50,y+50)=1 then x=rnd(250) : y=rnd(400)
if mouseclick()=1 and area(mousex(),mousey(),x2,y2,x2+50,y2+50)=1 then x2=rnd(250)+250 : y2=rnd(400)
sprite 1,x,y,1
paste image 2,x2,y2
sync
LOOP
FUNCTION area(px,py,l,t,r,b)
if px>l and px<r and py>t and py<b then res=1 else res=0
ENDFUNCTION res
The code isn't too great but it gives you an idea of how to do collision detection that isn't dependent on sprites (the cursor isn't a sprite).
FUNCTION area(px,py,l,t,r,b)
if px>l and px<r and py>t and py<b then res=1 else res=0
ENDFUNCTION res
The function takes the mouse position (px,py) and checks to see if this is inside the perimeter of the object (left,top,right,bottom), "res" is what is returned: if the mouse is inside the box the result is TRUE and res=1, if the mouse is outside the box it is FALSE and will return a 0. These are all just variable names used by the function, they are not DBC commands.
Your signature has been erased by a mod because it was rubbish.