[Flash] Génération dynamique de bouton.... (Hard)

Génération dynamique de bouton.... (Hard) [Flash] - Flash/ActionScript - Programmation

Marsh Posté le 02-08-2004 à 19:56:36    

Je cherche à générer un bouton dynamiquement avec une taille variable (en spécifiant la longueur et la largeur)
et attribuer un script
 
>> le bouton peut-être créé ou présent dans la bibliotheque si celà est plus pratique
 
kkun aurait-il une solution ?

Reply

Marsh Posté le 02-08-2004 à 19:56:36   

Reply

Marsh Posté le 02-08-2004 à 21:01:57    

Une solution serait d'utiliser un clip nommé, exporté pour actionscript dans la bibliothèque.
Si tu veux un comportement type "bouton", un onMouseUp() dans la première frame de ce clip.
Ou alors tu définis son comportement comme "bouton" ...


Message édité par Mr Mala le 02-08-2004 à 21:34:18
Reply

Marsh Posté le 02-08-2004 à 21:47:00    

tu pourrais me donner un exemple avec un code actionscript ?
 
le problème étant que je dois générer un nombre x de boutons dans une scène et attribuer une action pour chacun de manière dynamique...

Reply

Marsh Posté le 02-08-2004 à 21:53:54    

à mon avis c'est pas trop compliqué ... en cherchant un peu sur le net tu devrais trouver comment faire en eu de temps [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 03-08-2004 à 10:50:25    

J'avais déjà fait des boutons via ActionScript... un peu barbare mais ça marche très bien:

Citation :

//**********************************************************************//
//************************* CREATION DE BOUTON *************************//
//**********************************************************************//
 
MovieClip.prototype.creerBouton = function(texte, nom, profondeur, x, y) {
 this.createEmptyMovieClip(nom, profondeur);
 var btn_mc = this[nom];  
 btn_mc.createTextField("btn_txt", 1, 0, 0, 1, 1); //z, x, y, h, w
 btn_mc.btn_txt.autoSize = true;
 btn_mc.btn_txt.selectable = false;
 btn_mc.btn_txt.text = texte;  
 var btn_tf = new TextFormat();
 btn_tf.font = "_sans";
 btn_mc.btn_txt.setTextFormat(btn_tf);
 btn_mc.txtLargeur = btn_mc.btn_txt._width + 4;
 btn_mc.txtHauteur = btn_mc.btn_txt._height;  
 btn_mc.etatHaut = function() {
  this.btn_txt._x = 2;
  this.btn_txt._y = 1;
  this.clear();
  this.moveTo(this.txtLargeur, 0);
  this.beginFill(0xCCCCCC);
  this.lineStyle(1, 0x000000);
  this.lineTo(this.txtLargeur, this.txtHauteur);
  this.lineTo(0, this.txtHauteur);
  this.lineStyle(1, 0xFFFFFF);
  this.lineTo(0, 0);
  this.lineTo(this.txtLargeur, 0);
  this.endFill();
 }  
 btn_mc.etatBas = function() {
  this.btn_txt._x = 3;
  this.btn_txt._y = 2;
  this.clear();
  this.moveTo(this.txtLargeur, 0);
  this.beginFill(0xCCCCCC);
  this.lineStyle(1, 0xFFFFFF);
  this.lineTo(this.txtLargeur, this.txtHauteur);
  this.lineTo(0, this.txtHauteur);
  this.lineStyle(1, 0x000000);
  this.lineTo(0, 0);
  this.lineTo(this.txtLargeur, 0);
  this.endFill();
 }  
 btn_mc.onPress = btn_mc.etatBas;
 btn_mc.onRelease = function() {
  this.etatHaut();
  this.onButton();
 }
 btn_mc.onReleaseOutside = btn_mc.etatHaut;
 btn_mc.etatHaut();
 btn_mc._x = x;
 btn_mc._y = y;
}
 
this.creerBouton("Next", "Bt_Next_mc", 7, 200, 12);
Bt_Next_mc.onButton = function() {
 //action sur un onRelease du bouton Bt_Next_mc
}
 
//**********************************************************************//
//******************** FIN DE LA CREATION DE BOUTON ********************//
//**********************************************************************//


Message édité par Banane masquee le 03-08-2004 à 10:51:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed