Créer un sélecteur de couleurs personnalisé dans Flash

Un sélecteur de couleurs est une application, généralement utilisée dans les logiciels graphiques et en ligne, utilisée à des fins de gestion des couleurs, de création de combinaisons de couleurs, de sélection des couleurs, etc..

Dans ce tutoriel, je vais vous apprendre à créer un sélecteur de couleurs personnalisé dans Flash à l'aide d'ActionScript 3.0..




Étape 1: bref aperçu

À l'aide d'une image existante, nous allons extraire les valeurs de couleur à l'aide de la classe ColorTransform et de la position de la souris, puis appliquer la valeur renvoyée à tout objet DisplayObject..

Étape 2: démarrage

Ouvrez Flash et créez un nouveau fichier Flash (ActionScript 3)..

Définissez la taille de la scène sur 600x300 et la couleur de fond sur # D2D1D0.

Note de l'éditeur: Belle capture d'écran Carlos: P

Étape 3: Boîte de sélection des couleurs

Nous allons créer une boîte qui contiendra tous les éléments du sélecteur de couleurs.

Dessinez un rectangle de 217x174 px et remplissez-le avec cette couleur: # A6A6A6.

Maintenant, dupliquez le rectangle (Cmd + D), faites-le 215x172 px et remplissez-le avec: #FAFAFA.

Répétez le processus et remplissez le nouveau rectangle avec: # E0E0E0.

Ce sera le fond du sélecteur de couleurs.

Étape 4: Indicateurs de couleur

Ce sélecteur de couleurs a deux indicateurs de couleur, l’un affiche la couleur active et l’autre la couleur qui est actuellement renvoyée par le mouvement de la souris..

Sélectionnez l'outil Rectangle (R) et créez deux rectangles de 50x23 px en utilisant n'importe quelle couleur. J'ai utilisé le noir pour contraster avec l'arrière-plan. Convertissez chaque rectangle en MovieClip (F8) et définissez les noms d'occurrence sur "color" et "selectedColor".

Étape 5: Indicateurs de texte

Nous voulons connaître la valeur hexadécimale des couleurs affichées par le sélecteur de couleurs. Les champs de texte dynamiques feront l'affaire..

Sélectionnez l'outil Texte (T) et créez deux champs de texte dynamiques à côté de chaque rectangle de couleur. J'ai utilisé ce format de texte: Helvetica Neue 11pt, # 353535. N'oubliez pas d'intégrer les nombres et le signe "#" dans le menu des propriétés..

Nommez les champs "colorHex" pour celui de gauche et "sColor" pour celui de droite.

Étape 6: spectre de couleurs

Nous aurons besoin d'un spectre de couleurs pour créer le sélecteur de couleurs. Dans mon exemple, j'ai utilisé cette image de ColorTools.

Redimensionnez l'image à 200x130 px et tracez un dégradé linéaire du noir au blanc sur le côté pour ajouter une échelle de gris..

Convertissez le spectre complet en MovieClip et nommez-le "spectre".

Convertissez tous les clips en un seul MovieClip et définissez le nom de l'instance sur "colorPicker".

Étape 7: cible

Nous avons maintenant besoin d’un objet pour appliquer les données obtenues à partir du sélecteur de couleurs. Tout DisplayObject fonctionnera, dans ce cas, je vais utiliser du texte.

Le nom de l'instance TextField est "txt".

Étape 8: ActionScript

Créez un nouveau document ActionScript et enregistrez-le sous le nom "Main.as"..

Étape 9: Classes requises

Ce sont les classes que nous allons utiliser dans cette classe. Pour obtenir une aide spécifique sur chaque classe, reportez-vous à l’aide Flash (F1)..

package import flash.display.Sprite; import flash.display.BitmapData; import flash.geom.ColorTransform; import flash.events.MouseEvent;

Étape 10: Déclaration et extension de la classe

Ce code va déclarer et étendre la classe, nous étendons en utilisant la classe Sprite puisque nous utilisons certaines de ses propriétés et méthodes..

 public class Main étend Sprite 

Étape 11: Variables

Nous utilisons trois variables, expliquées dans les commentaires du code.

 var bitmapData: BitmapData = new BitmapData (202,132); // Objet Bitmap Data, la taille est basée sur la taille du spectre de couleur var colorTransform: ColorTransform = new ColorTransform (); var hexColor: *; // Cette variable stockera les données de couleur bitmap

Étape 12: Fonction principale

C'est la fonction principale.

 fonction publique Main (): void bitmapData.draw (colorPicker.spectrum); // Passe les données bitmap du spectre à la variable / * Auditeurs de fonctions * / colorPicker.spectrum.addEventListener (MouseEvent.MOUSE_MOVE, updateColorPicker); colorPicker.spectrum.addEventListener (MouseEvent.MOUSE_UP, setValue); 

Étape 13: Mettre à jour le sélecteur de couleurs

Cette fonction gérera les changements de couleur lorsque l'utilisateur déplace la souris..

 fonction privée updateColorPicker (e: MouseEvent): void / * Obtient la couleur du pixel où se trouve la souris et transmet la valeur à la variable colorTransform * / hexColor = "0x" + bitmapData.getPixel (colorPicker.spectrum.mouseX, colorPicker .spectrum.mouseY) .toString (16); colorTransform.color = hexColor; / * Définit les données de transformation de couleur sur le clip "color" et le champ "colorHex" dans ColorPicker * / colorPicker.color.transform.colorTransform = colorTransform; colorPicker.colorHex.text = "#" + bitmapData.getPixel (colorPicker.spectrum.mouseX, colorPicker.spectrum.mouseY) .toString (16) .toUpperCase (); 

Étape 14: Définir la valeur

Cette fonction définit la valeur activeClolor MovieClip et le champ sColor TextField dans le sélecteur de couleurs, ainsi que la cible sélectionnée par l'utilisateur..

 fonction privée setValue (e: MouseEvent): void txt.textColor = hexColor; // Ceci est la couleur colorPicker cible .selectedColor.transform.colorTransform = colorTransform; colorPicker.sColor.text = colorPicker.colorHex.text; 

Étape 15: Classe de document

Retournez au fichier .Fla et dans le panneau Propriétés, ajoutez "Principal" dans le champ Classe pour en faire la classe de document..

Conclusion

Vous pouvez maintenant choisir votre palette de couleurs ou votre spectre de couleurs préférés et les implémenter dans un sélecteur de couleurs personnalisé développé avec ActionScript 3.0. L'essayer!

J'espère que vous avez aimé ce tut, merci d'avoir lu!