Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/01/2011, 17h42   #1
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Par défaut [PureMVC] un mediator pour tous les contrôler ?

Bonjour,

dans mon apprentissage du framework PureMVC, je me demandais la chose suivante :

est il préférable de déclarer les médiators via des event creationComplete sur les composants vue associés ou alors de tous les définir via une commande lancée par une notification ?

Je pencherai pour la 2ieme option mais j'ai peut être pas saisi tout les tenants/aboutissants

Merci
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 16h10   #2
Rédacteur
 
Avatar de The_Pretender
 
Homme Matthieu DELOISON
Formateur ActionScript Flash
Inscription : juin 2004
Messages : 645
Détails du profil
Informations personnelles :
Nom : Homme Matthieu DELOISON
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Formateur ActionScript Flash
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2004
Messages : 645
Points : 3 673
Points : 3 673
Bonjour,

Pour PureMVC, je déclare la classe ApplicationMediator via le controler.

Ensuite, ApplicationMediator déclare toutes mes vues à la profondeur adéquate.

J'ai publié un tutoriel vidéo avec un exemple entièrement en AS3 : Utiliser PureMVC avec Flash / ActionScript 3
__________________
Découvrez : Tutoriels, ressources AS2 et AS3
La Méthode AS3 Facile pour développer des applications et jeux Flash en ActionScript 3 : ActionScript-Facile.com
The_Pretender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 20h30   #3
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour Matthieu,

effectivement j'ai déjà vu ta vidéo avant de poster mais le cas exposé étant relativement simple et ne possédant à priori qu'un seul médiator, je n'ai pas regardé le code source

Cependant, cette phrase :

Citation:
Envoyé par The_Pretender Voir le message
Ensuite, ApplicationMediator déclare toutes mes vues à la profondeur adéquate.
répond entièrement à a question

PS: pour être tout à fait clair, quand tu dis que tu déclares tes vues à la profondeur adéquate, tu veux en fait dire que ApplicationMediator via la méthode onRegister() déclare de nouveaux mediators qui eux via la référence app passée s'enregistreront ?

Par exemple :

Code :
1
2
 
facade.registerMediator(new UnSousMediator(notification.getBody().uneSousVue));
Merci de tes éclaircissements
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 21h56   #4
Rédacteur
 
Avatar de The_Pretender
 
Homme Matthieu DELOISON
Formateur ActionScript Flash
Inscription : juin 2004
Messages : 645
Détails du profil
Informations personnelles :
Nom : Homme Matthieu DELOISON
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Formateur ActionScript Flash
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2004
Messages : 645
Points : 3 673
Points : 3 673
J'ai simplifié au maximum en utilisant le code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
 
// position des vues
			var viewMenu:Sprite = new Sprite();
			var viewContent:Sprite = new Sprite();
			stage.addChild(viewMenu);
			stage.addChild(viewContent);
 
			// création des vues
			facade.registerMediator(new ContentViewMediator( viewContent ));
			facade.registerMediator(new MenuViewMediator( viewMenu ));
Le stage de l'application est transmis au moment de la création de la classe ApplicationMediator.

Cette solution permet de très simplement mettre à jour la profondeur des vues à partir du même endroit
Pratique dans l'évolution d'une application et l'ajout de nouvelles interfaces!
__________________
Découvrez : Tutoriels, ressources AS2 et AS3
La Méthode AS3 Facile pour développer des applications et jeux Flash en ActionScript 3 : ActionScript-Facile.com
The_Pretender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 22h25   #5
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Merci

après avoir analysé quelques sources notamment sur le site du framework, un ApplicationMediator est toujours utilisé pour instancier les autres médiators sous cette forme :

Mediator de l'appli instancié via une notification :
Code :
1
2
 
facade.registerMediator( new ApplicationMediator( note.getBody() ) );
les "sous médiators" instanciés par ApplicationMediator :
Code :
1
2
3
 
facade.registerMediator( new SousMediator1( app.idvue1 ) );    
facade.registerMediator( new SousMediator2( app.idvue2 ) );
Ca semble relativement clair et "normalisé" ainsi finalement donc je crois que je vais procéder ainsi

Merci Matthieu et bonne continuation ici et sur as3 facile

Je tag en résolu
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h04.


 
 
 
 
Partenaires

Hébergement Web