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 :

Changer couleur d'un texte au survol de la souris


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 120
    Par défaut Changer couleur d'un texte au survol de la souris
    Bonjour,

    Je débute tout juste en AS3 et je n'arrive pas à faire un simple changement de couleur d'un texte au survol de la souris.

    Je vous explique :
    J'ai un conteneur principal "sprite" dans lequel j'ai inclu deux autres "sprite" afin de séparé mon animation en deux partie.
    J'ai donc une partie supérieur et une partie inférieur.
    Dans la partie inférieur, j'ai un textField que j'ai englobé dans un movieClip pour faire "trembler" le texte et ce movieClip est incorporé dans le sprite inférieur. Je vous laisse voir le code...

    Et donc, j'aimerais qu'au survol du sprite inférieur, plusieurs choses se passent dont le changement de couleur de mon texte.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    var Conteneur:sprite = new Sprite();
    var Sup:Sprite = new Sprite();
    var Inf:Sprite = new Sprite();
    Conteneur.addChild(Sup);
    Conteneur.addChild(Inf);
    Sup.x = 5;
    Sup.y = 5;
    Inf.x = 5;
    Inf.y = 255;
     
    var format:TextFormat = new TextFormat();
    format.font = "Calibri";
    format.size = 20;
    format.color = 0xFFFFFF;
    format.align = TextFormatAlign.CENTER;
    var texte:TextField = new TextField();
    texte.defaultTextFormat = format;
    texte.text = "TOUTES LES OFFRES FLASH";
    texte.width = 300;
     
     
    var TextTremble:MovieClip = new MovieClip();
    TextTremble.x = 0;
    TextTremble.y = 0;
    TextTremble.addChild(texte);
    Inf.addChild(TextTremble);
     
    Inf.addEventListener(MouseEvent.MOUSE_DOWN, contraste);
     
    function contraste(evt:MouseEvent):void
    {
    trace(format.color);
    format.color = 0x000080;
    trace(evt.type);
    }
    Merci d'avance pour vos lumières...

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function contraste(evt:MouseEvent):void
    {
        texte.textColor= 0x000080;
    }
    tout simplement

  3. #3
    Membre éclairé Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Je rajouterai que MOUSE_DOWN c'est pas l'event survol de la souris

    je pense qu'il te faut obligatoirement deux events, MOUVE_OVER pour set ta couleur de survol et autres effets puis MOUSE_OUT pour revenir à la normal.

  4. #4
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 120
    Par défaut
    Merci beaucoup.

    En effet SnowStyle, j'ai fait comme tu as dit.
    Et pour la couleur du texte, j'ai créé en fait un nouveau format que j'attribue à mon TextField dans ma fonction.

    Petite question à part entière:
    Cette fonction je la place dans mon public function.

    Je m'explique, j'ai ma class principal, et à l'intérieur j'ai ma public function du même nom que ma classe.
    Et donc à l'intérieur, j'ai cette fonction concernant le changement de couleur.

    Je trouve ça illogique et j'ai l'impression que la programmation orienté objet perd tout son sens.

    Comment dois-je m'y prendre pour organiser tout ça et ne pas avoir de fonction à l'intérieur de ma public function principal.

    En code, ça donne ceci :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    package
    {
    	import flash.display.*;
    	import flash.text.TextField;
    	import flash.text.TextFormat;
    	import flash.text.TextFormatAlign;
            import .........
     
    	public class NomDeLaClass extends Sprite
    	{
    		public function NomDeLaClass ()
    		{
                        var Conteneur:sprite = new Sprite();
                        var Sup:Sprite = new Sprite();
                        var Inf:Sprite = new Sprite();
                        Conteneur.addChild(Sup);
                        Conteneur.addChild(Inf);
                        Sup.x = 5;
                        Sup.y = 5;
                        Inf.x = 5;
                        Inf.y = 255;
     
                        var format:TextFormat = new TextFormat();
                        format.font = "Calibri";
                        format.size = 20;
                        format.color = 0xFFFFFF;
                        format.align = TextFormatAlign.CENTER;
                        var formatSurvol:TextFormat = new TextFormat();
                        formatSurvol.font = "Calibri";
                        formatSurvol.size = 20;
                        formatSurvol.color = 0x000000;
                        formatSurvol.align = TextFormatAlign.CENTER;
                        var texte:TextField = new TextField();
                        texte.defaultTextFormat = format;
                        texte.text = "TOUTES LES OFFRES FLASH";
                        texte.width = 300;
     
     
                        var TextTremble:MovieClip = new MovieClip();
                        TextTremble.x = 0;
                        TextTremble.y = 0;
                        TextTremble.addChild(texte);
                        Inf.addChild(TextTremble);
     
                        Inf.addEventListener(MouseEvent.MOUSE_OVER, contraste);
                        Inf.addEventListener(MouseEvent.MOUSE_OUT, decontraste);
     
                        function contraste(evt:MouseEvent):void
                        {
                           texte.setTextFormat(formatSurvol);
                        }
     
                         function decontraste(evt:MouseEvent):void
                        {
                            texte.setTextFormat(format);
                        }
                    }
            }
     
    }
    Merci d'avance.
    Une fois ça acquis, je pourrai avancer dans mon développement.
    (j'ai l’impression que j'ai des lacunes concernant la POO)

  5. #5
    Membre éclairé Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Euh, tu peux les mettre à la suite de ton constructeur (public fonction principale), sous private function le plus souvent, ou autres type selon les besoins.

    Mais bon je débute en poo, j'ai pas encore compris la logique et le sens de ce concept encore.

  6. #6
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 120
    Par défaut
    Désolé j'ai même pas utilisé le mot "constructeur" dans ma question.

    Le problème est que si je le met en fonction (private ou public) après mon constructeur, j'ai souvent des erreurs.

    Dans le cas présent, ça me donnerait :

    Accès à la propriété non définit...

    Peut-être que je définis mal mes variables?..

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

Discussions similaires

  1. Changer la couleur d'un texte au survol d'une image
    Par asas-as dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 20/07/2014, 10h02
  2. Réponses: 3
    Dernier message: 04/01/2013, 20h30
  3. Changer la couleur d'une forme au survol de la souris
    Par chtrousselle dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/11/2012, 17h39
  4. [AC-2003] Changer la couleur d'un controle au survol de la souris
    Par ThieBEN dans le forum IHM
    Réponses: 15
    Dernier message: 31/10/2012, 21h40
  5. Afficher un texte au survol de la souris
    Par Death83 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 05/03/2006, 19h28

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