Pour la première question : nan pas de fonctions de ce genre, mais tu peux stocker les positions x et y des backgrounds dans un tableau, et faire un système de ce genre.
Seconde question : tu peux mais ça dépends du type de collision. Si c'est un background pas transparent c'est simple, en fonction de la position x,y,width,height. Par contre si c'est transparent je me souviens d'un exemple mais je le trouve plus. Mais de mémoire, ce qu'il faisait, c'était afficher le background d'une couleur avec une surface et vérifiait la collision avec un draw_getpixel(), ça fait un peu bricolage mais je doute que l'on puisse faire mieux ^^