Nom d'un nouveau clip = élements d'un tableau

Résolu
Prof_Matches Messages postés 21 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 19 août 2010 - 12 mars 2006 à 12:33
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 - 14 mars 2006 à 16:23
j'ai créé un tableau duquel je peux identifier chaque élément par ce code :
trace(A_baurin.sort()[0]) // me donne l'élément [0] de mon tableau A_baurin.
je voudrais donner ce résultat à un nouveau nom d'occurence d'un clip :
duplicateMovieClip(_root.bouton, A_baurin.sort()[0] , 5)
...mais cela ne fonctionne pas.
J'ai essayé :
mon_clip = A_baurin.sort()[0]
duplicateMovieClip(_root.bouton, mon_clip , 5)
pas de résultat : mon clip ne se crée pas (et par conséquence, n'apparait pas à la position _x et _y que je lui indique)

Si vous avez quelqu'idées. Merci d'avance.

11 réponses

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
12 mars 2006 à 21:10
Salut
pour mx 2004 et flash8
c'est :

var sorted:Array = A_baurin.sort();
var newClip:MovieClip = _root.bouton.duplicateMovieClip(sorted[0],_root.getNextHighestDepth());
tu peux ensuite appelé ton clip par newClip (newClip._x ...;) ou par son nom d'instance graphisque : this[sorted[0]] (this[sorted[0]]._x ...;)

Encore mieux si tu veux faire un clip par elt du tableau :

var sorted:Array = A_baurin.sort();
var index:Number = 0;
va count:Number = sorted.length;
while (index < count){
var newClip:MovieClip = _root.bouton.duplicateMovieClip(sorted[index],_root.getNextHighestDepth());
if (index > 0) newClip._y += index*newClip._height;
index++;
}

Attention la remarque précedente sur les noms (newClip vs this[sorted[0]]) n'est plus valable puisque newClip n'existe que dans la boucle.

++

Flash sans Limites
_Benjy chez kOlapsis

Composants Flash8 : http://composants.kolapsis.net
- kSql pour se connecter à mysql et executer des requètes depuis Flash
- kImage : gestionnaire d'image avec diaporama, redimentionnement automatique des image et zoom
- kTextInput : champ TextInput évolué avec de multiples controles de saisie intégrés
- kColorPicker : un simple petit selecteur de couleur

merci de penser a accepter les réponse qui vous aident...
.
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
13 mars 2006 à 15:45
Salut
duplicateMovieClip
le nom est dedans MovieClip ! c pas fait pour dupliqué un bouton !
pour leur affecté un fonction :
dans la boucle ajoute :
newClip.index = index;
newClip.onRelease = function(){
this._parent.ouvrir(index);
}
et en dehors de la boucle la fonction ouvrir:
function ouvrir(index:Number){
trace (A_Nom[index]); // >>Louis
// a toi de faire le reste
}

Flash sans Limites
_Benjy chez kOlapsis

Composants Flash8 : http://composants.kolapsis.net
- kSql pour se connecter à mysql et executer des requètes depuis Flash
- kImage : gestionnaire d'image avec diaporama, redimentionnement automatique des image et zoom
- kTextInput : champ TextInput évolué avec de multiples controles de saisie intégrés
- kColorPicker : un simple petit selecteur de couleur

merci de penser a accepter les réponse qui vous aident...
.
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
14 mars 2006 à 10:06
Salut
il te manque juste le this devant index LOL
this._parent.ouvrir(this.index);

Flash sans Limites
_Benjy chez kOlapsis

Composants Flash8 : http://composants.kolapsis.net
- kSql pour se connecter à mysql et executer des requètes depuis Flash
- kImage : gestionnaire d'image avec diaporama, redimentionnement automatique des image et zoom
- kTextInput : champ TextInput évolué avec de multiples controles de saisie intégrés
- kColorPicker : un simple petit selecteur de couleur

merci de penser a accepter les réponse qui vous aident...
.
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
14 mars 2006 à 16:23
Salut

index n'est pas une variable preexistante dans flash, tu la trouvera pas dans l'aide (ou ss rapport)
c moi qui la défini juste av de commencer la boucle while (var index:Number = 0;) et je l'incrémente dans la boucle (index++;)
Look l'aide sur while.
et pour ton autre question :

var A_Nom:Array = Array("Louis","Nicolas","Luc","Frédéric","Marie-Louise","Helène","Gustave");
var sorted:Array = A_Nom.sort();

var index:Number = 0;
var count:Number = sorted.length;
while (index < count){
var newClip:MovieClip = bouton.duplicateMovieClip(sorted[index],_root.getNextHighestDepth());
if (index > 0) newClip._y += index*newClip._height;
newClip.label.text = sorted[index];
newClip.index = index;
newClip.onRollOver = function() {
this._parent.ouvrir(this.index);
}
index++;
}

function ouvrir(index){
var target:MovieClip = this[sorted[index]];
trace ("Clip : "+sorted[index]+"\n\t{x:"+target._x+", y:"+target._y+"}");
}

Oubli pas d'accepter please ;)

et LOL cortoh, j'fais ce que je peux :d

@llé ++

Flash sans Limites
_Benjy chez kOlapsis

Composants Flash8 : http://composants.kolapsis.net
- kSql pour se connecter à mysql et executer des requètes depuis Flash
- kImage : gestionnaire d'image avec diaporama, redimentionnement automatique des image et zoom
- kTextInput : champ TextInput évolué avec de multiples controles de saisie intégrés
- kColorPicker : un simple petit selecteur de couleur

merci de penser a accepter les réponse qui vous aident...

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Prof_Matches Messages postés 21 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 19 août 2010
12 mars 2006 à 23:53
Un grand merci _benjy.
Prof_Matches Messages postés 21 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 19 août 2010
13 mars 2006 à 08:37
Voici le code :
var A_Nom:Array = Array();
A_Nom[0] = "Louis";
A_Nom[1] = "Nicolas";
A_Nom[2] = "Luc";
A_Nom[3] = "Frédéric";
var sorted:Array = A_Nom.sort();
var index:Number = 0;
var count:Number = sorted.length;
_root.bouton._x = 100;
while (index<count) {
var newClip:MovieClip = _root.bouton.duplicateMovieClip(sorted[index], getNextHighestDepth());
if (index>0) {
newClip._y += index*(newClip._height+4);
}
index++;
}
J'ai deux soucis :
1. Quand je définis le comportement de mon _root.bouton comme un clip, pas de soucis mais quand je veux lui donner le comportement de bouton.... aie (plus rien sur ma scène)

2. Je souhaiterais attribuer à chaque bouton (correspondant au nombre d'élements de mon tableau) une action différente (gotoAndPlay ou call Function)
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
13 mars 2006 à 18:10
la ou Benjy passe, les posts trepassent..

.


Pour en savoir plus!
Prof_Matches Messages postés 21 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 19 août 2010
14 mars 2006 à 07:45
J'ai suivi à la lettre les conseils de _benjy :

var A_Nom:Array = Array();
A_Nom[0] = "Louis";
A_Nom[1] = "Nicolas";
A_Nom[2] = "Luc";
A_Nom[3] = "Frédéric";
A_Nom[4] = "Marie-Louise";
A_Nom[5] = "Helène";
A_Nom[6] = "Gustave";
var sorted:Array = A_Nom.sort();
var index:Number = 0;
var count:Number = sorted.length;
//
//
_root.bouton._x = 100;
while (index<count) {
var newClip:MovieClip = _root.bouton.duplicateMovieClip(sorted[index], getNextHighestDepth());
newClip.index = index;
newClip.onRollOver = function() {
this._parent.ouvrir(index);
};
if (index>0) {
newClip._y += index*(newClip._height+4);
}
index++;
}
function ouvrir(index:Number) {
trace(A_Nom[index]);
}

J'ai un Undef qui sort. Pour tester le code, il suffit de mettre un petit clip nommé 'bouton' et de coller le code sur la première image
Prof_Matches Messages postés 21 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 19 août 2010
14 mars 2006 à 12:38
Et ben voilà, un grand merci _benjy
T'es un chef.
Merci encore
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
14 mars 2006 à 13:04
bon, donc, la ou Benjy passe (et repasse ;p) ...) les posts trepassent..

.


Pour en savoir plus!
Prof_Matches Messages postés 21 Date d'inscription vendredi 24 février 2006 Statut Membre Dernière intervention 19 août 2010
14 mars 2006 à 13:59
Bon, c'est pas que je te mets à l'épreuve, mais je viens de passer 92 minutes à chercher comment identifier les coordonnées _y des nouveaux clips créés en passant simplement la souris dessus.

PS : ou puis trouver des infos sur .index que tu as utilisé dans ton code ? J'ai compris la logique de tes solutions, sauf ce point...
Rejoignez-nous