25-02-2009, 05:11 PM
Je suis certain que c'est très clair pour toi et je m'excuse pour mon manque flagrant de logique, mais je n'arrive pas à le faire fonctionner.
Voici le code (en JS, bien entendu) :
Voici le code (en JS, bien entendu) :
Code PHP :
<?php
function sommetDansCarre (x, y, carrePivot){
if ( (x >= carrePivot.style.left) && ( x <= carrePivot.style.left + 5) && (y >= carrePivot.style.top) && ( y <= carrePivot.style.top + 5) ){
return true;
}else{
return false;
}
}
function Collision (Carre2, Carre1){
if (sommetDansCarre (Carre2.style.left, Carre2.style.top, Carre1) || sommetDansCarre (Carre2.style.left + 5, Carre2.style.top, Carre1) || sommetDansCarre (Carre2.style.left, Carre2.style.top + 5, Carre1) || sommetDansCarre (Carre2.style.left + 5, Carre2.style.top + 5, Carre1) ){
return true;
}else{
return false;
}
}
Ensuite, la ligne ci-dessous devrait me dire si oui ou non je fais une collision. J'ai testé, et ça semble seulement fonctionner quand les deux Left sont identiques et que je passe dessus via le Top (donc que je suis aligné à lui verticalement et que je passe ensuite horizontalement)
Code PHP :
<?php
if(Collision(document.getElementById('morceau'), document.getElementById('joueur'))){
alert("Collision");
}