Bonjour je suis en train de développer un jeu de golf.
J'aimerais que quelqu'un me corrige mon code. En effet j'ai des soucis cocnernant le rebond sur une surface arrondie. Le calcul est faux.
D'apres moi il faudrait calculer l'angle de la tengeante au moment de la collision puis calculer le rebond en fonction de cet angle.
Merci.
Voici le bout de code que j'utilise pour les collisions :
// mettre un gand cercle pour représenter une zone circulaire avec le nom d'instance "cercle"
// mettre une petite bille avec le nom d'instance "bille" à l'intérieur du grand cercle
//
bille.speedX = 2;
bille.speedY = 2;
bille.onEnterFrame = function() {
this._x += this.speedX;
this._y += this.speedY;
this.distance = Math.sqrt(Math.pow(this._x-cercle._x, 2)+Math.pow(this._y-cercle._y, 2));
//trace(distance);
if (this.distance>cercle._width/2-bille._width/2) {
this.angle = Math.atan2(cercle._y-this._y, cercle._x-this._x);
trace(this.angle);
//
this.globalSpeed = Math.sqrt(Math.pow(this.speedX, 2)+Math.pow(this.speedY, 2));
this.speedX = this.globalSpeed*Math.sin(this.angle);
this.speedY = this.globalSpeed*Math.cos(this.angle);
this.prevPosition();
//
}
};
MovieClip.prototype.prevPosition = function() {
this.precX = this._x;
this.precY = this._y;
};Merci.