begin process at 2012 05 27 07:11:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

equivalent getChildByName en as2


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

equivalent getChildByName en as2

mercredi 15 juillet 2009 à 11:21:34 | equivalent getChildByName en as2

Ariranha

Bonjour,

J'aimerai changer la ligne : monTube.getChildByName(tubeArray[i]) as MovieClip;
Afin de généraliser le code par la suite pour les MovieClips qui se situent dans le tableau tubeArray.

var tubeArray:Array = new Array();
var monTube:MovieClip = new MovieClip();

        while (i<3) {
                tubeArray.push(attachMovie("tube_mc", "tube_"+i+"_mc",  
                this.getNextHighestDepth(), {_x:posX, _y:posY}));

                //LIGNE CI DESSOUS QUE J AIMERAI CHANGER
                monTube.getChildByName(tubeArray[i]) as MovieClip;

                i++;
                }

Merci
mercredi 15 juillet 2009 à 12:00:33 | Re : equivalent getChildByName en as2

dj_ouf

Salut

Tu peux faire comme ceci :

monTube[tubeArray[i]];
Même en AS3 ça fonctionne, comme la scène est de type objet, tu peux accéder à tous ses enfants comme des propriétés d'un objet.

mercredi 15 juillet 2009 à 12:28:51 | Re : equivalent getChildByName en as2

Ariranha

Salut,

je ne sais pas ou j'ai merdé mais ça n'a pas l air de fonctionner. J'ai bien remplacé la ligne : monTube.getChildByName(tubeArray[i]) as MovieClip;
par monTube[tubeArray[i]];

Mais par la suite si je mets quelque chose du genre monTube.onRelease... rien ne se passe. Le pointeur "btn" ne s'affiche même pas.

Si je trace monTube j'ai en sortie [object Object].

Je ne sais plus trop quoi essayer.

Merci

mercredi 15 juillet 2009 à 21:04:13 | Re : equivalent getChildByName en as2

nickydaquick

Membre Club



Salut,

Tout d'abord monTube est un MovieClip vide...comment voudrais-tu rechercher des enfants dedans????

Tous les clips que tu crees sont dans un tableau, et sur la scene principale (la ou tu as ecris ton script)

Salut, et bonne continuation.


http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!

jeudi 16 juillet 2009 à 10:17:03 | Re : equivalent getChildByName en as2

Ariranha

Salut

Ben je sais bien que le mc monTube est vide, vu que la question initiale était comment le remplir avec les éléments contenus dans tubeArray, afin que par la suite je puisse faire quelque chose de général pour l'ensemble des évènements du genre monTube.on.....

Voila.

jeudi 16 juillet 2009 à 11:16:49 | Re : equivalent getChildByName en as2

dj_ouf

Salut

Donc si on a bien compris, monTube est le conteneur de tous tes éléments ? et tu voudrais appliquer un événement sur chacun de ces éléments?

Si c'est le cas, il faudrait que ton attachMovie soit sur ce conteneur, c-a-d :
tubeArray.push(monTube.attachMovie("tube_mc", "tube_"+i+"_mc", monTube.getNextHighestDepth(), {_x:posX, _y:posY}));

Car dans ton code précédemment, tes mc tube_mc étaient ajoutées sur la scène et non pas dans monTube..

jeudi 16 juillet 2009 à 11:38:45 | Re : equivalent getChildByName en as2

Ariranha

Quand j'ai vu ton post dj_ouf, je me suis dis merde c'est ça et c'était si simple. Après avoir essayé ça ne marche toujours pas.

Je poste le code dans son intégralité peut être que ça vous facilitera la tache.

Code ActionScript :
var largeurScene:Number = Stage.width/2;

var hauteurScene:Number = Stage.height/2;

attachMovie("instruction_mc","instruction_mc",this.getNextHighestDepth(),{_x:largeurScene, _y:hauteurScene});

instruction_mc.onRelease = function() {
instruction();
};

function instruction() {
instruction_mc.removeMovieClip();
ecouteurTube();
}

function ecouteurTube() {
import mx.transitions.Tween;
import mx.transitions.easing.*;

var tweenTime:Number = 0.3;
var positionTube:Number = 1;

var level:Number = 1;
var levels:Array = new Array();
levels[1] = "2,1,3";

var conteneur:Array = new Array();
conteneur = levels[level].split(",");

var posX:Number = 50;
var posY:Number = 100;

var i:Number = 0;

var tubeArray:Array = new Array();
var monTube:MovieClip = new MovieClip();

while (i<3) {
tubeArray.push(monTube.attachMovie("tube_mc", "tube_"+i+"_mc", monTube.getNextHighestDepth(), {_x:posX, _y:posY}));
tubeArray[i].gotoAndStop(conteneur[i]);

trace(tubeArray[i]);
trace(monTube);

posX += 50;
i++;

var oEcouteur:Object = new Object();
oEcouteur.onMotionFinished = function(tw:Tween):Void {
monTube.enabled = true;
if (positionTube == 1 || positionTube == 2 || positionTube == 3) {
positionTube++;
} else if (positionTube == 4) {
positionTube = 1;
}
};

monTube.onPress = function() {
this.enabled = false;
if (positionTube == 1) {
var tube:Tween = new Tween(this, "_rotation", Regular.easeOut, 0, 90, tweenTime, true);
}
if (positionTube == 2) {
var tube:Tween = new Tween(this, "_rotation", Regular.easeOut, 90, 180, tweenTime, true);
}
if (positionTube == 3) {
var tube:Tween = new Tween(this, "_rotation", Regular.easeOut, 180, 270, tweenTime, true);
}
if (positionTube == 4) {
var tube:Tween = new Tween(this, "_rotation", Regular.easeOut, 270, 360, tweenTime, true);
}
trace(tubeArray[i]);
tube.addListener(oEcouteur);
};
}
}


Encore merci d'essayer de m'aider.

jeudi 16 juillet 2009 à 12:25:51 | Re : equivalent getChildByName en as2

dj_ouf

Réponse acceptée !

lol
J'étais en train d'ouvrir flash pour faire un test, et c'est à l'air que je me soudainement dit :

"mais...on ne peut pas accéder à la classe MovieClip en as2??"
En gros, comme le flash player 8 avec l'as2 est carrément nul en déboguage et ne t'avertis de presque rien, il essaye de faire un nouvel objet MovieClip, ce qui échoue.

Ce qu'il faut faire en as2 :
createEmptyMovieClip

jeudi 16 juillet 2009 à 14:04:11 | Re : equivalent getChildByName en as2

Ariranha

Merci pour tout, voila un problème de résolu.



Cette discussion est classée dans : equivalent, movieclip, montube, tubearray, getchildbyname


Répondre à ce message

Sujets en rapport avec ce message

boucle while + attachMovie, problème répercution évènement [ par Ariranha ] Bonjour, Dans un dernier post, j'avais expose un probleme "d'automatisation du code après une boucle for" et pegase31 m'avait gentiment expliqué qu'i stockage variable plus affectation élément array [ par Ariranha ] RE : bonjour, Comme expliquer dans un message antérieur, je suis en train d'essayer de faire un jeu du plombier. Me voici avec un autre problème pou Clone de Sprite ou de MovieClip [ par emmanuel9 ] Bonjour à tous, J'ai un Objet sprite que je voudrais cloner mais la méthode clone() n'existe pas, semble t'il, en As3. J'ai essayé ceci : [b][i]v Faire Disparaitre tout les clips du clip parent [ par emmanuel9 ] Bonjour, J'ai une décor sur lequel je dois faire apparaitre et disparaitre diffèrent Clip. Il y a t'il une méthode qui permette de faire disparaitr As3 boucle For MovieClip [ par aerofx ] Bonjour à tous, Voilà mon petit soucis : Je dois dupliquer un movieClip , my_clip, (via une boucle for). Mais il faut que je puisse agir sur chaque Suite de MovieClip cliquable [ par vincej ] Bonjour, Je cherche a créer une suite d'images (code voir ci-dessous) et aussi que chaque MovieClip soit cliquable, j'ai déjà fait un essai. Quelqu'u probléme avec la fonction goto [ par davadav ] bonjour a tous bon je vous exposes mon probléme sur ma scène principal j'ais un objet (movieclip : affichageprincipal, avec le contenu de mes différe Probleme de cible getChildByName et for as3 [ par meumeu64 ] Bonjour à tous. Je vous explique mon problème. Je souhaite créer plusieurs clips dont j'incrémente le nom. Je positionne ensuite mes clips les uns à Impossible d'utiliser un Movie Clip comme masque ... bug bizarre [ par daddy11world ] Bonjours Je suis confronté à un problème : J'ai deux calques, l'un avec un movieclip (que je déplace via actionscripte), qui masque le deuxième calqu bricolage sur addChild et removeChild !!! [ par sandV ] Bonjour à tous, Bon, sur ma scène, j'ai 5 boutons (clips) dans un conteneur monMenu et 5 clips dans la bibliothèque. Chaque bouton doit charger un cli


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,842 sec (3)

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