Propriétés de bouton

horyatus Messages postés 88 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 1 mars 2006 - 22 févr. 2004 à 18:08
horyatus Messages postés 88 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 1 mars 2006 - 24 nov. 2004 à 18:15
Voila mon problème :

j'ai créer 20 boutons avec duplicatemovieclip en leurs donnant
comme nom bouton1,bouton2,...,bouton20 a partir d'un symbole bouton quelconque.

la création des boutons fonctionne parfaitement mais mon
probleme est que lorsque je veux cliquer sur un des boutons
je voudrais qu'il affiche dans une zone texte(test) le nom du bouton.

Lorsque je fais dans les actions du bouton source:

on(press)
{
test=this._name;
}

or j'ai appris que this correspond au clip courant et non au bouton.

Donc comment puis-je faire plizzz

7 réponses

cadoudal56 Messages postés 41 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 2 avril 2005
23 févr. 2004 à 07:19
Hello,

Deux possibilités.
Soit tu crée le code lors de la duplication, soit tu le cree dans le bouton et il se repetera tout seul a la duplication....

Un bout de code de ta part aiderais pas mal pleae....

Toutefois voici de quoi te faire avancer....

En partant du principe que test est le nom du champ de texte et qu'il soit placer a la racine...
Il te faut un _root puisque ton bouton lui n'est pas a la racine...
Et tu lui change sa valeur au champ de texte alors faut lui dire...

Essaie quelquechose comme :

on(press)
{
_root.test.text=this._name;
}

Avec un bout de code on pourra faire plus...

Cadoudal56
La Bretagne ca vous gagne !!
0
horyatus Messages postés 88 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 1 mars 2006
23 févr. 2004 à 11:28
voila mon code :
à la racine

var nb = 20;
for (var i = 2; i<=nb; i++) {
duplicateMovieClip(parc1,"parc"+i, i);
setProperty("parc"+i, _x,_root["parc"+(i-1)]._x+(15));
setProperty("parc"+i, _y,_root["parc"+(i-1)]._y);
}

sur mon bouton:
on(rollOver)
{
_root.infos=this._name+" bee";
}

//infos c la variable du champs texte
//et "bee" c'est pour tester qu'il affiche la ligne

Quand je le lance et que je passe sur un des boutons tout ce
que je vois c'est "bee"
Ce qui me fais penser que this._name ne correspond pas au nom mais sans doute à la racine.

De meme si je remplace _name par _width j'obtiens:
"472.3 bee" quelque soit le bouton

Cela me tracasse au plus au point

ps: cadoudal56 pas d'ameliorations remarquées :sad)
0
cadoudal56 Messages postés 41 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 2 avril 2005
23 févr. 2004 à 13:19
et cela ne donne rien ?

on(rollOver)
{
_root.infos.text =this._name+" bee";
}

Je ne suis pas non plus un expert, mais this._name correspond a quoi ?

essaie ceci :

on(rollOver)
{
var name = "rototo";
_root.infos.text =this.name+" bee";
}

et si tu veux controler le deroulement de tes animations utilise la fonction trace

exemple :
variable = "rototo";
trace("ma variable :" + variable);

Pendant le test tu verras une fenetre s'ouvrir qui t'affichera ce que tu passeras par la commande trace....
Ainsi tu te repereras bien mieux...

J'espere que cela t'auras aider...

Cadoudal56
La Bretagne ca vous gagne !!
0
cadoudal56 Messages postés 41 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 2 avril 2005
23 févr. 2004 à 13:29
Pour ceci :

De meme si je remplace _name par _width j'obtiens:
"472.3 bee" quelque soit le bouton

C'est normal...
D'un coté tu lui demande le nom du clip en cours (je viens de jeter un oeuil dans l'aide de flash)

this._name

et de l'autre tu lui demande sa largeur :
this._width

C'est bizarre qu'il te donne d'un cote la taille mais pas le nom...

@+

Cadoudal56
La Bretagne ca vous gagne !!
0

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

Posez votre question
horyatus Messages postés 88 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 1 mars 2006
23 févr. 2004 à 13:43
"472.3" ne correspond pas à la taille du bouton justement, il fait 34 et ce n'est pas non plus la taille du document (480*400)

Sinon quand je fais
on(rollOver)
{
var name = "rototo";
_root.infos.text =this.name+" bee";
}

ca marche mais le pbm c'est que le nom est fixe :(
ca me permet pas de récupérer le nom du bouton...
Ce que je sais pas non plus c'est name appartient-il au bouton ou a l'ensemble ?

Sinon merci de te pencher sur mon cas ...
0
zorg64 Messages postés 3 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 18 janvier 2005
24 nov. 2004 à 16:42
G exactement le meme probleme que toi - Est ce ke depuis, tu a trouver une solution??
Merci de ton aide, la, je planche sévère
0
horyatus Messages postés 88 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 1 mars 2006
24 nov. 2004 à 18:15
Salut,
Après tout ce temps j'ai du chercher dans mes archives ^^

Mais bon ca va te faire plaisir : j'ai la solution !!! (depuis je m'en sers tt le temps !)

en fait tu fais comme ca :

for (var i=1;i<=this.entrees;i++)
{
   duplicateMovieClip(parc1,"parc"+i, i);
   eval("parc"+i)._x=45+1; //tu défini tes coordonnées
   eval("parc"+i).onRelease=function() //action lors du clic sur bouton
   {
_root.affiche.text=this._name; //this correspond ici au clip "parc+i
   }
}


et tu peux faire pareil pr ts les évéements (onRollOut, onRollOver, ...)

Je pense que tu t'en sortira avec ça

A+
P.S: si t'as besoin de conseils c'est moi qui t'aiderais à mon tours !
0
Rejoignez-nous