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

ActionScript 3 Discussion :

Récupérer et modifier les informations de couleur d'un graphisme [Fait]


Sujet :

ActionScript 3

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut Récupérer et modifier les informations de couleur d'un graphisme
    Bonjour,
    Suite à ce post où je n'arrivais pas à récupérer les coordonnées d'un graphisme créé, c'est au tour des couleurs de m'être inaccessible

    La fonction de création est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    			public function CreateEllipse():void
    			{
    				var conteneur:UIComponent = new UIComponent();
    				conteneur.name = "ellipse"+ ellipseN;
    				ellipseN++;
     
    				var el:Shape = new Shape();
    				el.graphics.beginFill(rgb2hex(parseInt(EllipseR.text), parseInt(EllipseG.text), parseInt(EllipseB.text)), parseInt(EllipseA.text)/255);
    				el.graphics.drawEllipse(parseInt(EllipseL.text), parseInt(EllipseT.text), parseInt(EllipseW.text), parseInt(EllipseH.text));
    				conteneur.addChild(el);
     
    				ellipseLi.addItem(conteneur.name);
    				Display.addChild(conteneur);
    			}
    La couleur est donc ajoutée par le beginFill(), prenant en paramètre une fonction convertissant en hexa les valeurs 0-255 de mes champs, ainsi que l'alpha).

    J'ai trouvé quelques codes sur internet faisant appel à la classe ColorTransform pour modifier les couleurs en question, et j'ai essayé de l'utiliser ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    				var conteneur:UIComponent = Display.getChildByName(EllipseLi.selectedItem.toString()) as UIComponent;
    				var el:Shape = conteneur.getChildAt(0) as Shape;
    				var col:ColorTransform = el.transform.colorTransform;
    Mais en essayant d'afficher col.redOffset, ou tout autre canal de couleur, j'obtiens toujours la valeur 0.
    J'ai également essayé de modifier ma fonction de création en utilisant la classe ColorTransform pour colorer le graphisme, mais ça n'a pas fonctionné.

    Merci de votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Points : 80
    Points
    80
    Par défaut
    Si j'ai bien compris, tu aimerais récupérer la couleur ou modifier la couleur d'un objet vectoriel que tu as créé. Je crois que ce n'est pas possible directement, tu es obliger de redessiner ta forme avec des nouvelles couleurs (mais je suis loin d'être un expert en AS3 graphique, donc peu être que je me trompe)

    Ce que je ferais, je créerais un objet d'une classe pour mon objet graphique, je garde en mémoire ma structure de mon objet vectorielle et je garderais ma couleur dans une variable de ton objet graphique.
    Un peu comme mon bouton:
    http://www.developpez.net/forums/d72...alques-bouton/

    Sur mon bouton, je stock la taille et mon pourcentage. Je peux faire mes camembert dynamiquement par rapport a sa taille et son angle. Toi, tu rajoute une variable pour stocker ta couleur et la modifier en conséquence.

    Tu rajoute une fonction GetColor pour récupérer ta couleur.

    Si cela ne te dit rien ou tu ne comprends pas, n'hésite pas à le dire

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    OK je vois le principe, mais il n'y a vraiment pas moyen de faire autrement ?
    Je veux dire du dessin vectoriel en Flash/AS c'est quand même la base, ça m'étonne qu'il faille aller réinventer la roue pour faire quelque chose d'aussi simple

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Points : 23
    Points
    23
    Par défaut
    Est ce que la classe "colorTransform" ne conviendrais pas à ton problème? sinon il est tout à fait possible de dessiner avec les courbes de béziers et des dégradés mais il faut avoir le temps.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    colorTransform conviendrait si elle me renvoyait autre chose que des valeurs à 0, comme indiqué dans le premier message.
    Peut-être que je l'utilise mal, mais je n'ai aucun message d'erreur à l'exécution.

  6. #6
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Points : 80
    Points
    80
    Par défaut
    C'est normal que cela ne marche pas.
    Si je fais avec un shape, un carre rouge et un rond bleu sous un fond jaune. Le colorTransform (fonction qui ne marche que pour des sprites et des movieclip (peut etre des boutons ...)) sur ce shape devrait transformer quoi ? Mon carre, mon rond ? Mon fond ? Les 3 ?

    Tu es obliger de parametrer ceci avec une fonction, tu n'a pas le choix.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    Vraiment mal foutu ce système
    Il n'y a aucun moyen de différencier les éléments du Shape ? Surtout que dans mon cas, il n'y en a qu'un à chaque fois...

  8. #8
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Points : 80
    Points
    80
    Par défaut
    A part si tu mets dans un classe, comme j'ai essayé de t'expliquer (ce qui n'est pas très compliqué), non

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    Donc en gros je dois créer une classe pour chaque type de graphisme, contenant les couleurs de chaque graphisme, et recréer complètement ce graphisme en question si je veux en changer la couleur ?...

    Il n'y a pas d'autres classes que Shape() pour gérer ce genre d'affichages de graphismes ?

  10. #10
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Points : 80
    Points
    80
    Par défaut
    Shape = Dessin, Forme
    C'est la base, apres, il faut la travailler.

    Google pourra surement te trouver des classes derivant de Shape ...

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/07/2010, 19h56
  2. [AC-2007] Bouton Annuler qui modifie les informations
    Par Petit Rasta dans le forum IHM
    Réponses: 4
    Dernier message: 29/04/2010, 14h37
  3. Réponses: 2
    Dernier message: 01/02/2010, 10h39
  4. Réponses: 0
    Dernier message: 06/05/2009, 11h46
  5. [MySQL] script qui permet de modifier les informations d'une table
    Par mayalet dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/01/2009, 13h31

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