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

MXML Discussion :

Transitions dans un skin


Sujet :

MXML

  1. #1
    Membre émérite
    Transitions dans un skin
    Bonjour,

    j'ai skinné les 3 boutons d'une buttonBar (buttonBar{First, Middle, Last}Button). Dans mon skin, j'ai tracé un rectangle qui joue sur l'alpha en fonction des states et j'aimerais donc jouer une transition entre les différents states sur ces alphas.

    Pour simplifier mon problème, j'ai ceci sur un skin :

    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
    16
    17
    18
     
            <s:Rect id="rectBlack"
    		top="0" left="0" right="0" bottom="0" topLeftRadiusX="12">
     
    		<s:stroke>
    			<s:SolidColorStroke 
    				color="#000000" 
    				weight="1"/>
    		</s:stroke>
     
    		<s:fill>
    			<s:SolidColor 
    				color="0x000000" 
    				alpha.up="0.3"
    				alpha.over="0.7"/>
    		</s:fill>
     
    	</s:Rect>


    et j'ai la transition associée suivante :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <s:transitions>
    		<s:Transition fromState="up" toState="over">
    			<s:Fade target="{rectBlack}"  duration="2000"/>
    		</s:Transition>
    </s:transitions>


    Le problème c'est que mon alpha passe de 0.3 à 0.7 immédiatement et pas en 2 secondes comme j'aimerais.

    par contre avec cette transition :


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <s:transitions>
    		<s:Transition fromState="up" toState="over">
    			<s:Fade target="{rectBlack}" alphaFrom="0.3" alphaTo="0.7"  duration="2000"/>
    		</s:Transition>
    </s:transitions>


    Ca marche...

    Mais à quoi ca sert de définir des alphas associés à des états si c'est pour réécrire dans la transition les alphas...?

    Comment faire pour jouer la transition en s'appuyant sur les alphas définis dans les états (alpha.up, alpha.over etc...) ?

    Merci de vos contributions

  2. #2
    Membre émérite
    Et comme c'est toujours quand on poste qu'on trouve la réponse...

    En fait il faut mettre mes alphas sur mon rect et non sur mon fill. Du coup ma bordure associées à mon rect devient aussi réactive à ces alphas donc je dois recréer un layer de skin.