Ciao, mi pare che la tua funzione non abbia nulla che verifichi se due oggetti hanno fatto una collisione tra di loro.

Per fare cio' devi fare in questo modo:

Devi ottenere la posizione del bordo che deve collidere.
codice:
Oggetto.Posizione.X + Oggetto.Larghezza.
Così avrai ottenuto la posizione del bordo destro.

Ora verifichiamo la collisione:
codice:
Se 
  Oggetto.Posizione.X + Oggetto.Larghezza >= Oggetto_2.Posizione.X
      allora:
          collisiona
ovviamente dovrai verificare molte piu' condizioni per effettuare tutte le collisioni correttamente.