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; } }
Flashpaper, l'IMPOSSIBLE n'est pas possible [ par laurentlaurent27 ]
Bonjour,Je soumets aux spécialistes un problème qui jusqu'alors n'a trouvé aucune réponse, même parmi les plus flasheurs de mes amis. Je cherche à tra
une page pour les administrateur [ par fedebul ]
bonjour, comment peut on faire en flash un endroit ou il y a une zone de texte dynamique qui est rechargée par qq'un d'autres qui a acces à une page p
Besoin de quelqu'un pour faire une page de mon site [ par dream3w ]
Bonjour,Je sais que vous allez surement me répondre que vous êtes ici pour m'aider à réaliser ce que je veux faire mais je n'ai pas le temps de le fai
PERSONNALISATION DE TEE-SHIRT AVEC FLASH !! HELP [ par sophiejulien ]
Bonjour à tous !!! <font color="#800080"
Password d'entrée de site [ par superski2006 ]
Bonjour,je suis en train de créer un site web et j'utilise Flash MX pour la page d'intro. Dans cette page d'intro je voudrais y faire figurer une Text
Page flip et contenu dynamique [ par antopine ]
Bonjour, je vous écris afin de savoir si ma méthode est la bonne. je souhaite créer un catalogue dynamique sur internet avec un Page-flip (pour une
SWF dans un html [ par Valenti14 ]
Bonjour, Je viens de m'inscrire à l'instant. Merci à l'équipe CodeS sourceS pour permettre d'accéder à cette mine d'informations. Ma question est trè
Livres en rapport
|
Derniers Blogs
FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010 par neodante
La nouvelle interface d'Office 2010 à amener quelques modifications par rapport à celle de 2007. Certes mineures, ces modifications ont fait disparaître la case à cocher de l'onglet 'Développeur' en première page du panneau du 'bouton Office' (dans Office...
Cliquez pour lire la suite de l'article par neodante [ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|