Das kommt auf die Art der Kollisionsabfrage an; du kannst auch mit Kollisionsboxen arbeiten. Allerdings ist Kollisionsabfrage wirklich etwas zu aufwendig, um es hier zu erläutern.

Allenfalls den einfachsten Fall könnte ich vorstellen: Du willst prüfen, ob zwei Sprites miteinander kollidieren; dabei wird nicht pixelweise sondern kastenweise gearbeitet; beide Sprites sind also, was die Kollisionsabfrage angeht, Rechtecke.
Des Weiteren enthalten die Variablen, die die Position der Sprites speichern, die Position des jeweiligen oberen linken Pixels (das muß nicht so sein; ich definiere das hier mal so); sie heißen Sprite*.PosX und Sprite*.PosY (Das * steht dabei für 1 oder 2). Die Höhe und Breite der beiden Sprites gebe ich mit Sprite*.Höhe, bzw. Sprite*.Breite an.
Dann prüft man einfach, ob folgendes zutrifft:
((Sprite1.PosX + Sprite1.Breite >= Sprite2.PosX) UND (Sprite1.PosX < Sprite2.PosX + Sprite2.Breite)) UND
((Sprite1.PosY + Sprite1.Höhe >= Sprite2.PosY) UND (Sprite1.PosY < Sprite2.PosY + Sprite2.Höhe))