IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Effets : déplacer un composant et le faire disparaitre au fur et à mesure [Flex4]


Sujet :

Flex

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 76
    Points : 53
    Points
    53
    Par défaut Effets : déplacer un composant et le faire disparaitre au fur et à mesure
    Bonjour à tous,

    J'aimerais trouver un moyen de déplacer un composant et de le faire disparaitre au fur et à mesure qu'il atteint une certaine limite.

    En fait, cet effet se produit lorsque l'objet sort de l'application. J'aimerais pouvoir définir un cadre plus petit dans lequel produire ce même effet.

    J'ai voulu voir si l'effet Wipe ne pouvait pas faire ca, mais il ne marche pas sur mon composant.

    Comment je pourrais m'y prendre selon vous ?

  2. #2
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Peut-être en utilisant la propriété clipContent du container et en faisant en sorte que ce dernier n'occupe pas 100% de l'espace.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    Merci pour ton idée, elle m'a mis sur la voie.

    Mon Group n'a pas de propriété clipContent mais par contre il a une propriété clipAndEnableScrolling.
    Il suffit donc de déclarer et dimensionner un premier objet Group qui servira de cadre, de mettre cette propriété clipAndEnableScrolling à true.

    Le contenu qui se déplace est mis dans un deuxième objet Group, enfant du premier, pour que cela fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <s:Group x="50" y="20" width="405" height="360" clipAndEnableScrolling="true">
    		<s:Group x="5" y="0" id="matrice">
    			<s:layout>
    				<s:TileLayout requestedColumnCount="3" requestedRowCount="2"
    							  verticalGap="10" horizontalGap="10"
    							  >				
    				</s:TileLayout>			
    			</s:layout>
    		</s:Group>
    	</s:Group>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <s:Parallel   target="{tonObjetGroup}">
           <s:Move
                 xFrom="0"
                 xTo="500"
    	yFrom="0"
                 yTo ="500"
    	duration="800"/>
     
          <s:Fade 
    	duration="800"
    	alphaFrom="1"
    	alphaTo="0"/>
     
    </s:Parallel>
    Par exemple avec ce genre d'effet appliqué à ta classe "Group", elle va se déplacer de la position (0,0) à (500,500) tout en réduisant son oppacité de 1 à 0.

    Ensuite si tu veux pas que ce soit linéaire il faut utiliser les classes du package spark.effects.easing.

    Ah oui et si l'effet du mouvement ne semble pas s'appliquer à ton objet c'est que le layout annule l'effet.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    A propos du layout qui annule l'effet (move ou fade), il faudrait donc que je place manuellement mes objets plutôt que d'appliquer un tileLayout à mon groupe ?

    Ah oui c'est vrai que j'aurais pu jouer avec un fade effect.
    Mais ce que je voulais c'est cacher progressivement mon objet, non pas en fonction du temps mais selon sa position.

    Sur une chaine de caractères par exemple, je ne sais pas comment on pourrait appliquer un fade effect qui progresserait horizontalement. Avec le temps, de plus en plus de caractères subiraient l'effet.

    Enfin merci quand même

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    A propos du layout qui annule l'effet (move ou fade)
    C'est seulement pour l'effet move. Par exemple si tu as un panel Custom fait avec un Group dont le parent à un layout pour gérer l'affichage qui définit que tous les éléments doivent être centré par exemple à l'horizontale. Si tu appliques l'effet move pour déplacer ce panel à l'horizontal, ça ne devrait pas marcher car le layout va annuler l'effet.

    De mémoire c'était ça le problème qui m'étais arrivé sur un effet,c'est expliqué en détail sur le site d'adobe (dsl plus le lien...)

    Quand tu dis caché je pense que tu te trompes. On pense à l'effet wipe pour recouvrir une image progressivement ou un composant . Toi ce que je comprend tu souhaites juste le faire disparaitre progressivement dans ce cas tu as juste à jouer sur la propriété alpha et l'effet fade le fait pour toi.

    Sur une chaine de caractères par exemple, je ne sais pas comment on pourrait appliquer un fade effect qui progresserait horizontalement. Avec le temps, de plus en plus de caractères subiraient l'effet.
    Bah c'est fait pour ça , tu appliques l'effet fade sur ton label est cela devrait le faire disparaitre progressivement , tu n'as rien à toucher je crois.

    Et si tu veux par exemple déplacer ton objet à la position X puis lancer le fade tu utilises une Sequence.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    Non je te dis une grosse connerie , je viens de tester ^^ . L'effet sur l'alpha est appliqué à tout l'objet ce qui est normal ...

    Effectivement c'est bien un wipe Effect , mais tu peux aussi aller voir à la section mask effect pour faire quelque chose de plus Custom qui ressemble à ce que tu souhaites sur ce lien :

    http://livedocs.adobe.com/flex/3/htm...aviors_05.html

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 76
    Points : 53
    Points
    53
    Par défaut
    Oui c'est bien ce qu'il me semblait, un effet Wipe correspond à ce que je recherche. Mais je n'ai pas réussi à le faire marcher avec mon composant.
    Je n'avais pas la notion de mask, je vais voir la doc et tenter de faire ca de cette manière.

    Ca devrait être plus simple et plus propre que de faire comme je l'ai fait.

    Merci pour le lien Adobe, vraiment je devrais aller y jeter un coup d'œil plus souvent. Google ne le sort pas toujours dans mes recherches...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Déplacer un composant avec la souris
    Par GéniuS77 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 07/04/2011, 23h12
  2. déplacer 2 composants par Effets
    Par kossistus dans le forum Flex
    Réponses: 4
    Dernier message: 03/07/2008, 18h41
  3. Faire disparaitre l'effet 3D d'un tableau
    Par mamiberkof dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 26/02/2007, 15h54
  4. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 20h44
  5. Réponses: 5
    Dernier message: 27/02/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo