AS3 probleme ajouter donnée dans Array

clem037 Messages postés 6 Date d'inscription jeudi 15 janvier 2009 Statut Membre Dernière intervention 22 mars 2009 - 22 mars 2009 à 16:53
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 - 23 mars 2009 à 17:40
bonjour, je suis actuellement en train de faire un piti jeu qui shoot
des oiseaux avec une cible ( pauvre piti moineaux je suis dsl pour
eux!!) Je souhaiterai comptabiliser le nombre d'oiseau décédé et
l'afficher à l'ecran. J'ai donc créer un tableau qui contient les
oiseau tués et quand je veux afficher le score je veu qu'il m'affiche
la longueur du tableau. A chaque oiseau tués, je fais un push sur le
tableau pour qu'il m'ajoute un element dans le tableau :


Voici le code :

Code :
package{
//import des classes utiles
import flash.display.Stage;
import flash.display.MovieClip;
import flash.events.*;
import flash.text.TextField ;
import flash.text.TextFormat ;
import flash.display.Sprite;

public class Objet extends MovieClip {
public var oiseau_mc:MovieClip;
//var a:int;
public var TxScore : TextField = new TextField();
public var TabScore:Array = new Array();
public function Objet(i:int){
//prop TxScore
TxScore.x=420;
TxScore.y=350;
//prop Oiseau
oiseau_mc=new oiseau();
oiseau_mc.x=0;
oiseau_mc.y=40+ Math.random()*200;
//a=i;
oiseau_mc.addEventListener(Event.ENTER_FRAME,enterFrameMc);
oiseau_mc.addEventListener(MouseEvent.MOUSE_DOWN, toucher);
oiseau_mc.addEventListener(MouseEvent.MOUSE_DOWN, score);
this.addChild(oiseau_mc);

}//fin fonction constructeur
//
// FONCTION CLIC SOURIS
public function toucher(e:Event){
var oiseau2_mc:MovieClip = new oiseauTouche();
oiseau2_mc.x=e.target.x;
oiseau2_mc.y=oiseau_mc.y;
this.removeChild(oiseau_mc);
oiseau_mc=oiseau2_mc;
this.addChild(oiseau_mc);
//ajout de l'objet au tableau
}//fin fonction toucher

//FONCTION GESTION SCORE
public function score (e:Event){
TabScore.push("mort");
trace ( TabScore.length);
TxScore.htmlText=""+TabScore.length+"";
this.addChild(TxScore);
}
}//fin class

}//fin package

Malheureusement je crois que mon code n'arrive pas a ajouter un
elment dans le tableau ou ne met pas le tableau à jour car mon compteur
affiche que 1 malgrés des 100aines de moineaux tués!!!


Est-ce que quelqu'un aurait une solution ???


Merci d'avance


Clem

1 réponse

nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
23 mars 2009 à 17:40
Salut ,

petit rafistolage dans ton code

package{
//import des classes utiles
import flash.display.Stage;//<-- inutile
import flash.display.MovieClip;

import flash.events.Event;
import flash.events.MouseEvent;

import flash.text.TextField ;
import flash.text.TextFormat ;//<-- inutile
import flash.display.Sprite;//<-- inutile

public class Objet extends MovieClip {
public var oiseau_mc:MovieClip;
//var a:int;
public var TxScore : TextField = new TextField();
public var TabScore:Array = new Array();

public function Objet(i:int):void{
//prop TxScore
TxScore.x=420;
TxScore.y=350;
//prop Oiseau
oiseau_mc=new oiseau();
oiseau_mc.x=0;
oiseau_mc.y=40+ Math.random()*200;
//a=i;
oiseau_mc.addEventListener(Event.ENTER_FRAME,enterFrameMc);//ou est la fonction enterFrameMc ?
oiseau_mc.addEventListener(MouseEvent.MOUSE_DOWN, toucher);
oiseau_mc.addEventListener(MouseEvent.MOUSE_DOWN, score);
// a remplace par
oiseau_mc.addEventListener(MouseEvent.CLICK, toucher);
this.addChild(oiseau_mc);

}//fin fonction constructeur
//
// FONCTION CLIC SOURIS
private function toucher(e:MouseEvent):void{
var oiseau2_mc:MovieClip = new oiseauTouche();// ou est l'import de la classe oiseauTouche??
oiseau2_mc.x=e.target.x;
oiseau2_mc.y=oiseau_mc.y;
this.removeChild(oiseau_mc);
oiseau_mc=oiseau2_mc;
this.addChild(oiseau_mc);
//ajout de l'objet au tableau
// ici la gestion des scores
score();
}//fin fonction toucher

//FONCTION GESTION SCORE
public function score (/*e:Event*/):void{
TabScore.push("mort");
trace ( TabScore.length);
TxScore.htmlText=""+TabScore.length+"";
this.addChild(TxScore);
}
}//fin class

}//fin package

Bonne continuation


je suis heureux de faire partie d'une grande famille ...!
0
Rejoignez-nous