Bonjour,
Je suis complètement novice dans l'action script, et pour comprendre un peu ce langage j'ai pris un tuto sur un jeu de tir au canard, qui doit être connu sur ce site. J'essai d'apporter des modifications dans ce script afin de comprendre comment ça marche, mais je reste bloqué sur quelque chose, qui j'en suis sur doit être simple pour quelqu'un qui connait. Voici le code :
/* La classe hérite des propriété d'un clip car notre canard est un objet de la bibliothèque */
daffy.prototype = new MovieClip();
/* Initialisation d'un canard */
function daffy() {
this.mort = false;
// Un canard est vivant par défaut
this.crash = false;
// Un canard vol par défaut
this.vitesse = Math.random()*5+3;
// La vitesse est aléatoire
this.sens = int(Math.random());
// sens aléatoire également (ici sens = 0 ou -1)
if (this.sens == 0) {
this.sens = -1;
}
// fait en sorte que sens soit -1 ou 1 uniquement.
this._xscale = this._yscale=Math.random()*40+20;
// Donne une grosseur aléatoire aux canards
this._x = Math.random()*900-50;
// donne une position aléatoire aux canards
this._y = Math.random()*150+40;
this._xscale = this._xscale*-this.sens;
// le canard est dirigé vers le sens ou il va
}
/* Liaison de notre classe avec l'objet de la bibliothèque */
Object.registerClass("canard", daffy);
/* Création d'un canard à l'écran */
var niveau:Number = 1;
// "Calques Action Script" où sera placé le prochain canard
var total:Number = 0;
// Combien y a t-il de canards affichés
/* Affiche le canard */
function nouveau_canard() {
if (score == 5) {
son3.stop();
gotoAndStop(403);
}
if (total<5) {
_root.attachMovie("canard", "mon_canard", niveau);
son1.start();
niveau++;
total++;
}
}
nouveau_canard();
setInterval(nouveau_canard, 700);
//daffy.prototype.onEnterFrame = function() {
// ici code pour faire avancer le canard
//};
daffy.prototype.onEnterFrame = function() {
if (not this.crash) {
// Si le canard n'est pas au sol
this._x = this._x+this.vitesse*this.sens;
// Déplace le canard horizontalement
// Si le canard est sortit de l'écran :
if (((this._x-this._width>800) or (this._x+this._width<0)) and not this.mort) {
this.sens = -this.sens;
// On change son sens
this._xscale = -this._xscale;
// On inverse horizontalement l'image
}
if (this.mort) {
// S'il a été touché, il faut qu'il tombe
this._y = this._y+1+(this._rotation*this.sens)/4;
// Fait descendre le canard
if (this._rotation<30) {
this._rotation += this.sens;
}
// Fait tourner l'image du canard
if (this._y>450) {
this.crash = true;
}
// S'il touche terre : il est crashé
}
} else {
// Le canard est par terre
this._alpha--;
// On réduit sa transparence
if (this._alpha<0) {
// S'il n'est plus visible
total--;
// On le retire du total des canard affichés
this.removeMovieClip();
// On le retire de la scène
}
}
};
/* Action quand on clique dessus */
daffy.prototype.onPress = function() {
this.mort = true;
score = score+1;
// Change l'état du canard
this.gotoAndStop(10);
// Change l'image du canard
};
var son = new Sound();
son.attachSound("duck.mp3");
son.setVolume(60);
// volume en pourcentage
son.stop();
// arrête la lecture du son
son.start();
// démarre la lecture du son
var son3 = new Sound();
son3.attachSound("zikette.mp3");
// attend d'avoir chargé la musique complètement
son3.start(0, 5);
// ligne que vous pouvez commenter ensuite :)
son3.setVolume(80);
// variables des sons
son1 = new Sound();
son2 = new Sound();
// Charge les fichiers
son1.attachSound("duck.mp3");
son2.attachSound("gunfire.mp3");
// définit les volumes
son1.setVolume(60);
son2.setVolume(100);
fusil.onMouseMove = function() {
var mx = souris._x-fusil._x;
// calcul d'angle (trigo de 5eme ;)
var my = souris._y-fusil._y;
var angle = -Math.atan(mx/my)*180/Math.PI;
if (angle<-40) {
angle = -40;
}
// limite l'orientation du fusil
if (angle>40) {
angle = 40;
}
fusil._rotation = angle;
// definit l'orientation
};
Dans le code j'ai mis en rouge ce que j'ai ajouté. Je compte combien de canard on été touché, et lorsque j'ai le compte que je veux je vais sur une autre image. Mon problème est que je change bien d'image, mais je garde les canards qui volent. Comment les faire disparaître ?
Merci d'avance pour vos réponse
@+++
marcod59