begin process at 2012 05 26 15:55:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

AS3 - passa ge de paramètre Parent / Enfant ??


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AS3 - passa ge de paramètre Parent / Enfant ??

jeudi 15 octobre 2009 à 02:34:08 | AS3 - passa ge de paramètre Parent / Enfant ??

slog9

Bonjour à tous!

Je suis en train de coder un petit jeu tout con, histoire de mettre les mains dans l'as3... J'ai donc créé des classes associées à des MovieClip, etc, et tout fonctionne à peu près bien, sauf que...

Dans ma classe principale j'ai donc un tableau initialisé par le constructeur et qui contient la configuration initiale de la map. je crée ensuite le jeu en lui passant en paramètre le tableau pour qu'il construise la map et modifie certaines cases en fonction du nombre, mais lorsque je supprime l'instance de l'objet jeu pour en créer un nouveau, je me rends compte que mon tableau contenant les paramètres initiaux a été modifié...
J'ai dû rater quelque chose quelque part, est-ce normal? comment faire pour ne pas qu'il modifie le tableau original?

Un peu de code sera peu être plus parlant (j'ai simplifié au maximum):

//-----------------------------------------------
// class Main:
//-----------------------------------------------

private var map1:Array;
private var game:Game;

public function Main(){
this.map1 = new Array([0,0,0,0],
[0,0,0,0],
[0,0,0,0],
[0,0,0,0]);
this.loadGame();
}

private function loadGame(){
this.game = new Game();
this.game.setMap(this.map1);
trace(this.map1);
//Renvoie le tableau Array([1,0,0,1], ?????
// [0,0,0,0], ?????
// [0,0,0,0], ?????
// [1,0,0,1]) ?????
}


//-----------------------------------------------
// class Game:
//-----------------------------------------------

private var maps:Array;

public function Game(){

}

public function setMap(themap:Array){
this.maps = themap;
this.maps[0][0] = 1;
this.maps[0][3] = 1;
this.maps[3][0] = 1;
this.maps[3][3] = 1;
}

//-----------------------------------------------

Pourquoi est-ce qu'il modifie aussi le map1 de l'objet parent
j'ai essayé de jouer avec public et private, mais sans resultat... Ca doit être un truc tout con, comme d'hab, mais jtrouve pas...

Merci pour votre aide!
lundi 19 octobre 2009 à 22:01:24 | Re : AS3 - passa ge de paramètre Parent / Enfant ??

nickydaquick

Membre Club
Réponse acceptée !


Salut,

Les tableaux en actionscript 3 sont passe par reference et non pas par valeur.

Bonne continuation.

http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
vendredi 23 octobre 2009 à 22:54:57 | Re : AS3 - passa ge de paramètre Parent / Enfant ??

slog9

Salut!

Merci pour cette précision (et désolé de pas avoir répondu plus tôt, manque de temps...)

Je vais me renseigner sur le sujet. Du coup aurais tu une astuce pour pouvoir passer un tableau en paramètre tel que je le souhaite? ou une autre solution?

Je vais tester la duplication du tableau en le listant et en copiant chaque valeur à l'aide de boucles for, mais doit y avoir quelque chose d'autre, ça me semble un peu lourd comme traitement...

Merci pour ton aide!

@+
samedi 24 octobre 2009 à 00:36:09 | Re : AS3 - passa ge de paramètre Parent / Enfant ??

nickydaquick

Membre Club


Salut,

Pour ne pas modifier le tableau, cree une copie avant de la passer en parametre.
example:

Code ActionScript :
var monTableau:Array = Array([]);
var maCopieTableau = monTableau.concat();
/*en modifiant maCopieTableau , monTableau reste intact. Tu peux donc utiliser cette seconde variable et la passer en parametre*/


Bonne continuation.

http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!
/B&
samedi 24 octobre 2009 à 12:26:08 | Re : AS3 - passa ge de paramètre Parent / Enfant ??

slog9

Ok, jvais tester ça.

Merci pour ton aide!


Cette discussion est classée dans : tableau, private, maps, game, map1


Répondre à ce message

Sujets en rapport avec ce message

url dynamique ? [ par creaman ] je voudrais faire un top5 de site en flash. mais j'ai un probleme je sais comment faire pour changer le nom des sites dans le tableau a partir de donn action sur tableau.. [ par nirousse ] Voila, je vous explique.j'ai un tableau nommé x.Pour exemple, on va dire qu'il contient les valeurs suivantes : x=[3,2,1].Moi, en appelant 1 fonction, txt vers tableau [ par Eren76 ] Dans un programme en flash 5, j'ai un fichier txt avec une liste de données du type :&donnee1=KABOUL&&donnee2=PRETORIA&&donnee3=TIRANA&Je les récupère txt vers tableau [ par Eren76 ] Dans un programme en flash 5, j'ai un fichier txt avec une liste de données du type :&donnee1=KABOUL&&donnee2=PRETORIA&&donnee3=TIRANA&Je les récupère créer un tableau [ par ihen ] Salut,J'ai fait un jeu et j'aimerais faire un tableau qui effectue un classement des 10 meilleurs.mes variables à integrer au tableau sont pseudo et t PROBLEME DE MENU DYNAMIQUE [ par zikaphil ] J'ai un gros probleme, je souhaite créer un menu dynamique à partir d'un fichier XML, tout marchait correctement jusqu'a ce que je veuille y insérer d catalogue énorme ! [ par sherka68 ] Bonjour à tous,Je veux faire un catalogue avec Flash.La base exportée en XML contient environ 6000 références.Lorsque je charge le fichier XML et que ASP et Flash [ par RayusgnaL ] Bonjour,Voilà je viens demander de l'aide parce que je ne connais pas vraiment Flash et on m'a demandé de modifier un .fla de manière à le rendre dyna les tableau [ par kodiask ] kelkun peut maider jarrive pa a afficher les donnée d'un tableau parce que je comprend pas le fonctionnement ac i++ / i+++ Tableau de donnees [ par Ric38 ] Salut,certains ont peut etre vu l animation sur la saison actuelle de Formule 1 disponible dans la categorie sports de Yahoo France.J aimerais reprodu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales