Problema com algoritimo de Colisão de objetos

Ai pessoal estou com problemas na hora de tratar as colisões entre os objetos do meu jogo…
é o seguinte, o objetivo dos seguintes metodos era verificar as colisões objeto por objeto do arrayList animados
sendo que o objeto colidido, servira de referencia para a posicao do objeto que colidiu.
mas a colisão era pra ser tratada da seguinte maneira.
por exemplo:

objeto que colidiu entraria na condição de colisão pela esquerda, e o objeto colidido na condição de colisão pela direita
a colisão feita neste sentido.

----------------><---------------

se alguem puder testar e me ajudar eu agradeço.

este é o metodo responsavel por dizeeraos objetos em que posicao eles devem ficar apos as coliões:

[code] void colidiuCom(Animado colidido) {
Vetor outro = colidido.posicaoAnterior;
//colisão por cima
if(Math.round(posicao.posY+getAltura()-posicao.dY) <= Math.round(outro.posY-outro.dY)){

        this.posicao.posY = outro.posY - this.getAltura();
    }
    //colisão por baixo
    if(Math.round(posicao.posY-posicao.dY) >= Math.round(outro.posY+colidido.getAltura()+outro.dY)){
       
        this.posicao.posY = outro.posY + colidido.getAltura();
    }
    //colisão pela esquerda
    if(Math.round(posicao.posX+getLargura()-posicao.dX) <= Math.round(outro.posX-outro.dX)){
   
        this.posicao.posX = outro.posX - this.getLargura();
    }
    //colisão pela direita
    if(Math.round(posicao.posX-posicao.dX) >= Math.round(outro.posX+colidido.getLargura()-outro.dX)){
       
        this.posicao.posX = outro.posX + colidido.getLargura();
    }
}[/code]

este é o metodo que chama o metodo acima se hover colisão:

private void verificaColisoes() { for (int i1 = 0; i1 < animados.size() - 1; ++i1) { for (int i2 = i1+1; i2 < animados.size(); ++i2) { if(animados.get(i1).getRetangulo().intersects(animados.get(i2).getRetangulo())){ animados.get(i1).colidiuCom(animados.get(i2)); animados.get(i2).colidiuCom(animados.get(i1)); } } } }

existe alguma boa alma ai para me ajudar, se não entenderam o que eu quis dizer, me falem!!!

E o que acontece no lugar do que voce queria?

o problema foi resolvido…obrigado Marky.Vasconcelos pela boa intencao, vlw