Accueil > Forum > > > > class, renvois de String à mon script AS3
class, renvois de String à mon script AS3
mercredi 6 mai 2009 à 21:19:09 |
class, renvois de String à mon script AS3

mikouRoux
|
Salut à tous, Voilà un moment que je m'arrache les cheveux pour comprendre comment renvoyer une chaine de caractère en sortie d'une classe en actionscript3. Cela concerne d'ailleurs tout type de variable !!! Dans la page principale, j'appelle ma classe comme ceci : var affichageDefilant:AffichageDefilant = new AffichageDefilant(lesTitres[i], 1, 5);
Dans la classe, je traite ma chaine pour lui ajouter un effet animé. Le tout est basé sur un timer qui modifie en permanence ma chaine. Le problème, c'est que cette chaine à caractère "aléatoire" j'aimerais l'afficher dans un textBox de ma page principale. Seulement, je n'arrive pas à récupérer la variable en sortie de la classe. Ce que j'ai réussi à faire : Avec la ligne qui suit (dans ma classe), j'arrive à récupérer le contenu de "output" dans la page principale. Le problème, c'est que output se trouve ici à la tête de ma classe et n'est pas rafraichie constamment !!!! public var output:String = "ma valeur de sortie"; Suis assez clair ? Je peux poster mon code, mais il est assez long. J'ai peur de vous effrayer !!!  ++
|
|
jeudi 7 mai 2009 à 09:08:27 |
Re : class, renvois de String à mon script AS3

Girou
|
Salut, tu passes les parametres nécessaires au constructeur de ta classe, comme tu le fais var affichageDefilant:AffichageDefilant = new AffichageDefilant(lesTitres[i], 1, 5);dans ta classe AffichageDefilant tu as un Timer qui modifie une chaine de caractère cette chaine modifiée est stockée dans une variable de classe (private var _output:String) a chaque appel du timer, quand tu as traité ta chaine, tu emets un evenement ton animation principale écoute l'évenement de ta classe et déclanche une fonction qui récupère la valeur de _output contenuTextbox= affichageDefilant.output (avec une fonction get output():String{return _output;} dans ta classe AffichageDefilant)@+ 
|
|
jeudi 7 mai 2009 à 15:50:09 |
Re : class, renvois de String à mon script AS3

mikouRoux
|
Super, C'est c'est exactement ce que je cherchais. Par contre, je ne suis pas sur de bien comprendre : "quand tu as traité ta chaine, tu emets un evenement"
Je n'arrive à retourner une valeur à outputque si je lui assigne la valeur dans le constructeur. Hors, dans mon cas, j'aimerais attribuer une nouvelle valeur à output pour chaque évènement TIMER.
Merci si quelqu'un sait. Et merci encore pour ta super explication Girou ;)
Aperçu de ma classe :
// ma variable de classe private var output:String; //mon constructeur public function AffichageDefilant(chaine:String, interval:Number, boucle:Number) { var minuteTimer:Timer = new Timer(1, 5); minuteTimer.addEventListener(TimerEvent.TIMER,onTick); minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); minute.start(); }
// pour l'évènement TIMER private function onTick(event:TimerEvent):void { //Traitement de ma chaine output = "la valeur de ma chaine après traitement"; } // pour l'évènement TIMER_COMPLETE private function onTimerComplete(event:TimerEvent):void { }
// pour renvoyer output // j'assigne une valeur à output dans la fonction onTick // je reçois "null" en retour :( public function get valeur():String { return output; }
|
|
jeudi 7 mai 2009 à 16:04:42 |
Re : class, renvois de String à mon script AS3
|
jeudi 7 mai 2009 à 16:15:15 |
Re : class, renvois de String à mon script AS3

mikouRoux
|
Yep, Excuse moi : problème de recopiage ! J'ai bien mis minuteTimer.start() dans mon code. Mon problème n'est pas là ! Je viens d'essayer d'imbriquer la fonction get dans ma fonction onTick (évènement Timer). Mais comme je le soupçonnais : "Les accesseurs ne peuvent pas être imbriqués dans d'autres fonctions" (cf : erreur retournée par flash !) // ma variable de classe private var output:String; //mon constructeurpublic function AffichageDefilant(chaine:String, interval:Number, boucle:Number) { var minuteTimer:Timer = new Timer(1, 5); minuteTimer.addEventListener(TimerEvent.TIMER,onTick); minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); minuteTimer.start();// ;) Merci pour la correction }
// pour l'évènement TIMER private function onTick(event:TimerEvent):void { // pour renvoyer output function get valeur():String { return output; }} // pour l'évènement TIMER_COMPLETE private function onTimerComplete(event:TimerEvent):void { }
Merci beaucoup pour ton aide 
|
|
jeudi 7 mai 2009 à 16:43:09 |
Re : class, renvois de String à mon script AS3

Girou
|
Réponse acceptée !
Il faut légèrement revoir ta classe vest quelque chose comme public class AffichageDefilant extends EventDispatcher { public static var OUTPUT_UPDATED:String="outputUpdated"; // ma variable de classe private var output:String; //mon constructeur public function AffichageDefilant(chaine:String, interval:Number, boucle:Number):void { var minuteTimer:Timer = new Timer(1000, 5); // Attention Timer défini en millisecondes minuteTimer.addEventListener(TimerEvent.TIMER,onTick); minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); minuteTimer.start(); }
// pour l'évènement TIMER private function onTick(event:TimerEvent):void { //Traitement de ma chaine output = "la valeur de ma chaine après traitement "+Math.floor(Math.random()*100); dispatchEvent(new Event(OUTPUT_UPDATED)); } // pour l'évènement TIMER_COMPLETE private function onTimerComplete(event:TimerEvent):void { }
// pour renvoyer output // j'assigne une valeur à output dans la fonction onTick // je reçois "null" en retour :( public function get valeur():String { return output; } }
ensuite dans le script principale
var affichage:AffichageDefilant = new AffichageDefilant(lesTitres[i], 1, 5); affichage.addEventListener(AffichageDefilant.OUTPUT_UPDATED, refresh);
public function refresh(e:Event=null):void{ montextbox.text=affichage.valeur // ou montextbox.text=e.target.valeur }@+ 
|
|
jeudi 7 mai 2009 à 19:35:38 |
Re : class, renvois de String à mon script AS3

mikouRoux
|
Re re re re re cher Girou ! Maintenant, je commence vraiment à avoir l'impression de commencer à abuser. Ton code fonctionne à la perfection mais il y a encore un petit détail qui m'échappe !!!!  J'ai sérieusement bossé toute la journée pour résoudre ce problème qui me donne envie de m'arracher les cheveux de la tête. Donc je me permet d'abuser encore un peu de ta gentillesse  Dans ma classe, j'ai l'évènement TIMER et l'évènement TIMER_COMPLETE. Ta solution fonctionne très bien pour rafraichir output à la fin de chaque évènement TIMER. Pour TIMER_COMPLETE, j'aimerais rééxecuter la classe n fois (en fonction de la longeur de chaine), mais en incémentant la valeur d'une variable qui défini la position dans ma chaine. Pour illustrer un peu : l'évènement TIMER mélange 1 caractère de la chaine 5 fois. l'évènement TIMER_COMPLETE qui écoute si le compteur est arrêté le relance aussitôt pour passer au caractère suivant qui a son tour est envoyé dans TIMER etc...
Désolé d'être un peu abruti  Ceci est mon premier programme en AS3. Et malgrès la structure que je trouve vraiment bien, il y a des bizzareries de ce type que je ne saisis pas encore !!!
|
|
jeudi 7 mai 2009 à 22:08:22 |
Re : class, renvois de String à mon script AS3

mikouRoux
|
Hello,
Oublie mon dernier problème. Après en avoir eu trop mare d'avoir le nez dans le code, je suis rentré chez moi et sur le trajet : miracle : solution ! Certainement pas très propre, mais ça fonctionne.
J'ai enlevé l'évènement TIMER_COMPLETE. J'ai changé le compteur pour qu'il soit infini (50, 0). J'ai mis une variable qui s'incrémente pour chaque évènement TIMER et qui se remet à 0 aù delà d'une certaine limite.
Et voilà. Ca marche nickel ;)
Merci beaucoup en tous les cas pour ton aide précieuse.
|
|
Cette discussion est classée dans : page, string, chaine, classe, sortie
Répondre à ce message
Sujets en rapport avec ce message
Pattern Observer sans pattern ? [ par jcsydney ]
BonjourJe sais comment associer un clip à une classe AS2 pour lui donner un comportement (du genre un clip Balle dans un FLA et un Balle.as pour le co
Animation de sortie lors d'un changement de page [ par MilkGraphik ]
Salut , je suis graphiste et comme mon metier l'indique , je ne suis pas bon du tout en dev... jusqu'a maintenant je laissais le soin à un vrai dev de
classe [ par sangho ]
Ma classe contenue dans le fichier table_membre.as :lass table_membre { var nom:String; function get_champ():String { nom = "lol"; return nom; } }
un formulaire flash avec selection du destinataire. [ par beneba ]
Bonjour à tous, Je suis tombé par le plus heureux des hasards sur ce tuto : http://www.flashkod.com/codes/FORMULAIRE-MAILEUR-MULTIADRESSE-FLASH-PHP-F
String to Array [ par yasdar ]
bonjour a tous voila j'ai une variable var aze:String = "1,25,30,14,70"; je veux utiliser cette variable comme an tableau (Array) j'écris var tab:Arr
récupérer les variables d'un page eb [ par bizarr ]
Bonjour à tous, je cherche à récupérer une variable inscrite dans une page web pour l'utiliser comme donnée dans mon script AS2 (ou 3). Par exemple
flashvars [ par yasdar ]
bonjour voila j'ai une animation flash qui fonctionne très bien, il a du texte provenant d'une variable Flashvar( inclue dans le HTML de la page.html)
récupérer une variable d'une scène vers une classe... [ par tartartartar ]
Bonjour, J'aurais voulu savoir comment peut on récupérer une variable annoncée dans m'a scène principale, dans une classe ? J'arrive vraiment pas à
Réalisation d'un QCM [ par twinsen60 ]
Bonjour, Je cherche un exemple, liens ou autre, pour la réalisation d'un QCM, avec des transitions différentes entre chaques pages. J'ai une page d'a
Lien vers un autre page html dans un séquence précise [ par Cynthia14 ]
Bonjour, je suis débutante en flash et je suis en train de monter un site web dans AS2. Par contre, j'ai besoin d'ouvrir une autre page html mais dans
Livres en rapport
|
Derniers Blogs
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|