De nombreuses options sont disponibles pour configurer les gradients générés avec le code AS3. Dans cet article, nous allons explorer diverses options avec une application interactive que vous pouvez utiliser pour modifier ces options à la volée..
Jouez avec les options du fichier SWF ci-dessus. Le rectangle de gauche vous montre le dégradé résultant tel qu'il apparaîtrait lorsque tracé dans un rectangle 50x50. Le rectangle de droite montre la matrice avec le réglage actuel. Comparez les deux en explorant tous les paramètres et tout cela aura du sens..
Lorsque vous avez créé un dégradé que vous aimez, appuyez sur Cliquez ici pour le code
pour voir une liste de code AS3 que vous pouvez copier et coller dans votre propre projet pour générer le dégradé créé.
Dans la génération de code, des variables supplémentaires ont été ajoutées afin que vous puissiez facilement modifier l'apparence du dégradé..
gradientScaling
, utilisez ceci pour augmenter la taille.gradientOffsetX
, utilisez-le pour déplacer le dégradé horizontalement.gradientOffsetY
, utilisez-le pour déplacer le dégradé verticalement.Pour créer un dégradé, vous devez utiliser le graphique
objet d'un Forme
, ou toute classe qu'il sous-classe. Ensuite, nous devons créer le remplissage en dégradé, en appelant
graphics.beginGradientFill ()
Ces paramètres sont obligatoires:
type: chaîne
couleurs: tableau
alphas: tableau
ratios: tableau
Ces paramètres sont facultatifs:
matrice: matrice = null
spreadMethod: String = "pad"
interpolationMethod: String = "rgb"
focalPointRatio: Number = 0
J'irai bien chaque paramètre plus tard. Si vous préférez jouer avec, essayer de le résoudre vous-même, j'ai créé un SWF pour cette raison, et il peut même générer un code fonctionnel pour le dégradé que vous avez créé. Découvrez-le en haut de l'article.
Pour une documentation complète sur la création de dégradés, consultez la section LiveDocs à la rubrique.
Définissez le type de dégradé avec: flash.display.GradientType
Ces trois tableaux doivent correspondre. Donc, si vous voulez trois couleurs, vous devez également fournir trois alphas et trois ratios.
Le tableau de couleurs nécessite des valeurs hexadécimales. (comme 0xFF0000
pour le rouge)
Le tableau alphas nécessite des nombres compris entre 0 et 1.
Le tableau de ratios nécessite des nombres compris entre 0 et 255. Ceux-ci doivent être dans le bon ordre. [100,0,200]
n'est pas valide, mais [0,100,200]
est.
Voici un exemple de ce qui se passe lorsque vous modifiez les ratios:
La matrice définit l'apparence du dégradé. Si vous ne le définissez pas, il aura une largeur de 200px. Si vous souhaitez contrôler l'apparence du dégradé, vous devez créer une nouvelle matrice:
var gradientMatrix: Matrix = new Matrix ();
Ensuite, vous devez créer un dégradé sur la matrice en appelant:
gradientMatrix.createGradientBox
Les paramètres suivants sont requis:
largeur: nombre
hauteur: nombre
Ces paramètres sont facultatifs:
rotation: nombre = 0
tx: nombre = 0
ty: Nombre = 0
largeur
est la largeur de la matrice (non affectée par la rotation de la matrice).
la taille
est la hauteur de la matrice (non affectée par la rotation de la matrice).
rotation
est la rotation de la matrice, en radians.
tx
est le décalage horizontal de la matrice (non affecté par la rotation de la matrice).
ty
est le décalage vertical de la matrice (non affecté par la rotation de la matrice).
Si la matrice ne recouvre en quelque sorte pas toute la zone que vous dessinez, le reste devra être rempli. Il y a trois façons différentes de gérer cela:
Définissez la méthode de propagation avec: flash.display.SpreadMethod
C’est ainsi que la transition de couleur est calculée. Deux options sont possibles:
Définissez la méthode d'interpolation avec: flash.display.InterpolationMethod
Cela n'a d'effet que si vous utilisez des dégradés radiaux. Il accepte les valeurs comprises entre -1 et 1. Si vous fournissez un nombre supérieur à 1, ne vous inquiétez pas, la valeur par défaut est 1. Cela est également affecté par la rotation (vous pouvez donc le placer en haut de régler le point focal sur -1 et faire pivoter sur Pi / 2).
Lorsque vous avez terminé, vous devez dessiner le remplissage. Cela peut être effectué par n’importe laquelle des méthodes de dessin avec remplissage graphique, comme beginFill ()..
Si vous n’utilisez pas (0,0) comme point de départ de la méthode de dessin, vous devez vous rappeler de changer le tx
et ty
valeurs de la matrice.
Maintenant, vous devriez être prêt à vivre de nouvelles aventures avec des dégradés générés par le code.
Merci d'avoir lu!