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

Flash Discussion :

Problemes de ComboBox


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut Problemes de ComboBox
    Bonjour à tous et toutes

    Bon, pour planter le décor, je suis une bur.e en programmation flash, je dois bien dire que je patauge bien comme il faut, totalement à la ramasse entre le AS2, le AS3, le Flex... et j'en passe surement.
    Je me suis tapé des dizaines de tutoriaux, mais c'est un peu comme vous si vous vouliez apprendre le chinois....
    Bon alors là je suis en train d'essayer de faire une page de mon site où, les visiteurs pourraient changer la police, la taille, la couleur des textes qu'ils ecriront... ca, c'est le projet.
    La réalité est ailleurs...
    donc je me suis lancé dans les ComboBox et là, c'est pas gagné non plus....
    alors j'ai reussi tout de meme a pondre un scipt que voilà
    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
    import fl.controls.ComboBox;
    import fl.controls.Label;
     
    var sizebox:ComboBox = new ComboBox();
    sizebox.prompt = "Choix:";
    sizebox.addItem({label:"10",data:10}); 
    sizebox.addItem({label:"20", data:20});
    sizebox.addItem({label:"30", data:30});
    sizebox.labelFunction = nameLabelFunction;
    sizebox.width = 120;
    sizebox.move(350, 200);
    sizebox.addEventListener(Event.CHANGE, changeHandler);
    addChild(sizebox);
     
    var size:Label = new Label();
    size.text = "";
    size.autoSize = TextFieldAutoSize.LEFT;
    size.move(sizebox.x, sizebox.y + sizebox.height);
    addChild(size);
     
    var color:Label = new Label();
    color.text = "";
    color.autoSize = TextFieldAutoSize.LEFT;
    color.move(colorbox.x, colorbox.y + colorbox.height);
    addChild(color);
    function nameLabelFunction(item:Object):String {
        return item.label ;
    }
    Bon jusque là... ca va pas trop mal, le seul probleme c'est que dans la mesure ou j'ai besoin de plusieurs ComboBox, c'est là que ca coince....
    j'ai donc refait le meme script mais en changeant les variables... et j'ai ceci comme erreur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Conflit dans la définition color dans l'espace de nom internal...var color:label=new label()
    et encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Définition de fonction dupliquée....function nameLabelFunction(item:Object):String {
    Voilà le sujet est planté....
    Vous qui etes surement plus calés que moi, vous aurez compris que dans ma 2eme Combo, j'ai changé les variables sizebox en colorbox...
    Et puisque je suis ici, j'en profite pour vous demander si vous connaissez des sites pour débutants flash, comme il en existe pour le HTML et le PHP, parce là non plus j'ai pas trouvé ma vie...
    En tout cas merci pour le temps que vous avez passé a lire ce Post
    Cdt
    J'ai oublié de dire que c'est en AS3...

  2. #2
    Membre actif

    Inscrit en
    Mars 2002
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 83
    Par défaut
    Il me semble qu'il y a un conflit quelque part. Que sont ces classes :

    import fl.controls.ComboBox;
    import fl.controls.Label;

    Parceque Label et Combobox existe déja dans la librairie standard. Il y a sûrement un conflit entre

    Standard :
    - UIObject class > Label
    et
    - fl > controls > Label

    Pour être sûr qu'il n'y ait pas de conflit de noms. Tu peux essayer un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var size:fl.controls.Label= new fl.controls.Label();

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut
    Merci pour ta réponse Zebiloute

    J'ai testé ta solution, mais j'ai les mêmes erreurs, et tu as raison, il s'agit bien d'un conflit, mais je ne sais pas comment différencier les differentes ComboBox...
    J'ai essayé des trucs du genre label() ou label[] mais c'est encore pire

    P'tit UP

  4. #4
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Salut,
    Citation Envoyé par bernard26000 Voir le message
    j'ai donc refait le même script mais en changeant les variables...
    [..]
    vous aurez compris que dans ma 2eme Combo, j'ai changé les variables sizebox en colorbox...
    tu peux nous montrer le nouveau script (en entier) ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut
    Salut...

    Ben si tu veux je peux mettre le script que j'ai utilisé, mais c'est le meme avec les variables differentes et sur 2 frames differentes, l'idée etant que le visiteur choisisse un police, puis la taille et enfin la couleur...
    donc j'ai mis ceci sur la premiere frame
    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
    import fl.controls.ComboBox;
    import fl.controls.Label;
     
    var sizebox:ComboBox = new ComboBox();
    sizebox.prompt = "Choix:";
    sizebox.addItem({label:"10",data:10}); 
    sizebox.addItem({label:"20", data:20});
    sizebox.addItem({label:"30", data:30});
    sizebox.labelFunction = nameLabelFunction;
    sizebox.width = 120;
    sizebox.move(350, 200);
    sizebox.addEventListener(Event.CHANGE, changeHandler);
    addChild(sizebox);
     
    var size:Label = new Label();
    size.text = "";
    size.autoSize = TextFieldAutoSize.LEFT;
    size.move(sizebox.x, sizebox.y + sizebox.height);
    addChild(size);
     
    var size:Label = new Label();
    size.text = "";
    size.autoSize = TextFieldAutoSize.LEFT;
    size.move(sizebox.x, sizebox.y + sizebox.height);
    addChild(size);
    function nameLabelFunction(item:Object):String {
        return item.label ;
    }
    sur la 2eme frame :
    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
    import fl.controls.ComboBox;
    import fl.controls.Label;
     
    var colorbox:ComboBox = new ComboBox();
    colorbox.prompt = "Choix:";
    colorbox.addItem({label:"Noir",data:0x000000}); 
    colorbox.addItem({label:"Bleu", data:0x0000ff});
    colorbox.addItem({label:"Rouge", data:0xff0000});
    colorbox.labelFunction = nameLabelFunction;
    colorbox.width = 120;
    colorbox.move(350, 150);
    colorbox.addEventListener(Event.CHANGE, changeHandler);
    addChild(colorbox);
     
    var color:Label = new Label();
    color.text = "";
    color.autoSize = TextFieldAutoSize.LEFT;
    color.move(colorbox.x, colorbox.y + colorbox.height);
    addChild(color);
     
    function changeHandler(event:Event):void {
        var cb:ComboBox = event.currentTarget as ComboBox;
        color.text = "selectedLabel: " + cb.selectedLabel;
    }
    function nameLabelFunction(item:Object):String {
        return item.label ;
    }
    Voila donc.... juste avec la 1ere frame ca marche tres bien, du moins le controle que je fait avec nameLabelFunction, fonctionne...

    Mais coincé comme c'est pas possible en AS3, j'ai fait des recherches en AS2 et j'ai trouvé qq chose qui pourrait faire l'affaire voici le code, mais interdit de rire....
    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
    var myformat:TextFormat = new TextFormat();
     
    couleur=teinte.getValue()
    mytext.textColor = couleur;
     
    fonte=police.getValue()
    mytext.font = fonte;
     
     
    taille=boite.getValue()
    myformat.size =taille;
    //Nous créons un texte dynamique et lui donnons des paramètres
        this.createTextField("mytext",1,85,49,130,107);
    mytext.multiline = true;
    mytext.wordWrap = true;
    mytext.border = true;
     
    mytext.htmlText = gNom;
    myformat.font=fonte;
    myformat.size=taille;
    myformat.color=couleur;
    myformat.align = "center";
    mytext.setTextFormat(myformat);

  6. #6
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    pour la première solution,
    je pense qu'utiliser une seule frame serait mieux. Donc un seul combo et tu modifies les données quand l'utilisateur a choisi la première valeur.
    et si tu peux choisir, autant placer les deux combos cotes à cotes en fesant en une seule étape.

    Citation Envoyé par bernard26000
    c'est pas possible en AS3
    sisi
    et pour le choix de la couleur en AS3 il y a le composant ColorPicker qui te facilite la tâche.

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

Discussions similaires

  1. [FLASH 8] Probleme de ComboBox
    Par dom_dev dans le forum Flash
    Réponses: 3
    Dernier message: 18/07/2006, 10h24
  2. [FLASH 8] Probleme de comboBox
    Par dom_dev dans le forum Flash
    Réponses: 14
    Dernier message: 06/07/2006, 11h45
  3. [MFC] probleme remplissage comboBox avec ADOLib
    Par moulefrite dans le forum MFC
    Réponses: 3
    Dernier message: 05/04/2006, 14h08
  4. probleme avec combobox et Etats
    Par el_quincho dans le forum IHM
    Réponses: 1
    Dernier message: 13/03/2006, 12h05
  5. [VB.NET] Probleme avec ComboBox
    Par Aspic dans le forum VB.NET
    Réponses: 5
    Dernier message: 20/11/2005, 12h37

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