Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1042 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Quelques problèmes simples en AS 3

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Quelques problèmes simples en AS 3

n°1908654
Profil sup​primé
Posté le 26-07-2009 à 18:31:32  answer
 

Bonjour,  
 
je découvre l'AS 3 et je me heurte à deux ou trois problèmes.  
 
1./ Concaténer une variable avec un nom d'occurence est-ce possible ?  
2./ Retader l'exécution d'une fonction ? Par exemple j'ai un diaporama et un clip de transition, je veux que la photo change à un certain moment du clip de transition.  
3./ Une fonction que je pourrais définir par " playAndStop(numéroDeLaFrame) " est ce que cela existe ? Donc lancer un clip et l'arrêter à une certaine frame.
 
Merci


Message édité par Profil supprimé le 26-07-2009 à 18:31:47
mood
Publicité
Posté le 26-07-2009 à 18:31:32  profilanswer
 

n°1908676
abais
Posté le 26-07-2009 à 19:40:47  profilanswer
 

1/ Tu peux recupérer le nom d'une occurence via la propriété name
    ex: var clipName:string = "clip_"+monClip.name;
 
2/ Tu as le timer qui te permet d'executer une fontion au bout d'une durée prédéfinie... Sinon, tu peut ordonné l'execution de cette dernière sur la dernière image clé de ta transition...
 
3/Pourquoi  ne pas utilisé les étiquettes sur la timeline, ou le stop() à l'image clé en question ?
Sinon oui, tu peux créer une fonction qui écoute la frame actuelle, et qui execute un stop si cette dernière est égale à x...
 

Code :
  1. function playJuska(frameFinal:uint):void {
  2.  this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  3.  this.play()
  4.  function enterFrameHandler(e:Event){
  5.    if(this.frame == frameFinal){
  6.      this.stop();
  7.      this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
  8.    }
  9.  }
  10. }
  11. monClip.playJuska(23);


 
Ce n'est qu'une idée, je ne suis pas developpeur... D'ailleurs, je n'ai pas testé

Message cité 1 fois
Message édité par abais le 26-07-2009 à 19:49:10

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1908824
Profil sup​primé
Posté le 27-07-2009 à 11:28:10  answer
 

Merci, le tout a fonctionné

 
abais a écrit :

1/ Tu peux recupérer le nom d'une occurence via la propriété name
    ex: var clipName:string = "clip_"+monClip.name;

 

Très bien mais si par exemple je veux créer un MouseEvent sur l'occurence ?
clipName.addEventListener(...) ne fonctionnera pas. Comment faire ?
concrètement j'ai une liste de bouton appelant une même fonction.
ça m'arrangerait pas mal d'alléger mon code et donc de ne pas écrire :
Bouton1.addEventListener(...);
Bouton2.addEventListener(...);
etc etc

 


Une autre question : Est ce que je peux tronquer une chaine de caractère ? Pour mon exemple, chaque bouton appel une image spécifique. L'idée serait de tronquer la chaine du nom de l'occurence en gardant le numéro et d'appeler simplement la frame correspondante. ( Bouton 1 renvoie sur Image 1 etc ).
Je suis persuadé qu'il y a mieux.

 

edit : et rapidement, event.ENTER_FRAME a quelle utilité ?

 


merci


Message édité par Profil supprimé le 27-07-2009 à 12:06:47
n°1909118
abais
Posté le 27-07-2009 à 19:33:20  profilanswer
 

Enterframe c'est un evenement qui se declenche à chaque frame... tout simplement :)

 

sinon, il y a plusieurs démarche pour sélectionner un clip dynamiquement (en fonction de son nom typé en String)...

 
Code :
  1. conteneur.getChildByName('nomdelenfant').addEventListener(...);
  2. //conteneur est le clip qui contient tes bouton... tu peux mettre "this" si le code est dans une clé vide au meme niveau que les boutons...
  3. // sinon une autre solution :
  4. this['nomdelenfant'].addEventListener(...);
  5. //les [] permettent de "traduire" le nom enfermé en objet
 

et oui il y a une façon de tronquer des caractères, enfin, en garder qu'une parti : c'est la fonction substr(debut,longueur)...
"début" est l'emplacement du premier caractère de la chaine à garder... "longueur" est la longueur du texte à garder en nombre de caractère... si longueur n'est pas spécifié, il prendra jusqu'au dernier caractère de la chaine...
Attention, les numéro de caractère débute à 0 et non 1 ! Le premier caractère d'un mot est donc le "zerotième" ( :pt1cable: )et non le 1er

Code :
  1. var monTexte:String = "j'aime les coups de pieds";
  2. trace(monTexte.substr(5,8)); //retournera "e les co"
  3. trace(monTexte.substr(20)); //retournera "pieds"
 


Message cité 1 fois
Message édité par abais le 27-07-2009 à 19:37:35

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1909140
Profil sup​primé
Posté le 27-07-2009 à 20:46:31  answer
 

abais a écrit :

Enterframe c'est un evenement qui se declenche à chaque frame... tout simplement :)
 
sinon, il y a plusieurs démarche pour sélectionner un clip dynamiquement (en fonction de son nom typé en String)...
 

Code :
  1. conteneur.getChildByName('nomdelenfant').addEventListener(...);
  2. //conteneur est le clip qui contient tes bouton... tu peux mettre "this" si le code est dans une clé vide au meme niveau que les boutons...
  3. // sinon une autre solution :
  4. this['nomdelenfant'].addEventListener(...);
  5. //les [] permettent de "traduire" le nom enfermé en objet


 
et oui il y a une façon de tronquer des caractères, enfin, en garder qu'une parti : c'est la fonction substr(debut,longueur)...
"début" est l'emplacement du premier caractère de la chaine à garder... "longueur" est la longueur du texte à garder en nombre de caractère... si longueur n'est pas spécifié, il prendra jusqu'au dernier caractère de la chaine...
Attention, les numéro de caractère débute à 0 et non 1 ! Le premier caractère d'un mot est donc le "zerotième" ( :pt1cable: )et non le 1er

Code :
  1. var monTexte:String = "j'aime les coups de pieds";
  2. trace(monTexte.substr(5,8)); //retournera "e les co"
  3. trace(monTexte.substr(20)); //retournera "pieds"


 
 


 
Merci pour tes réponses qui m'ont été très utiles. Tout fonctionne et je commence vraiment à apprécier la structure de ce langage.  
 
Merci encore, A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Quelques problèmes simples en AS 3

 

Sujets relatifs
Problèmes de liens, headers et fonctionsProblemes avec les methodes
Problèmes de placements et dimensionsPHP ou Mysql : problèmes d'encodage (accents)
CUDA : problemes de compilationproblèmes de background et de div [résolu]
flash cs4 problemes[MYSQL JDBC] et des problèmes d'accents à devenir dingue !!
preg_replace : problèmes d'expression régulièreProblèmes en C et en GTK
Plus de sujets relatifs à : Quelques problèmes simples en AS 3


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR