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 :

[FLASH MX] Définir une position x fixe : depuis la droite


Sujet :

Flash

  1. #1
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut [FLASH MX] Définir une position x fixe : depuis la droite
    Bonjour,

    J'avais déjà parler d'un travail que j'effectuais sur un slider d'images dynamiquement géneré en XML. Bon, ça ne marche pas encore tout à fait, mais là ce n'est pas le problème.

    J'aimerais que lorsque l'utilisateur passe sur une des images, une description s'affiche. La description en question s'afficherais dans une sorte de "bulle" qui suivrais la souris lorsqu'on se balade sur l'image et qui disparaîtrait ensuite. C'est pas difficile à faire, mais j'ai un petit problème.

    Je modifie dynamiquement (toujours avec des données XML) le texte de cette description (évidemment), donc la taille de la bulle varie. Je parviens, avec un calcul, a modifier la taille de ma bulle (suivant le nombre de caractère de la description), le problème, c'est que le redimensionnement de la dite bulle pose problème. Lorsqu'on redimensionne dynamique, plutôt que de garder la même position x, le clip se "centre" automatiquement (comme lorsqu'on redimensionne un clip manuellement). Du coup, comme j'ai une petite flêche (fixe elle) qui part de ma bulle, et bien ma bulle va n'importe ou et se retrouve, si il y peut de texte, à côté de la flêche et du texte.

    J'aimerais donc savoir si je ne pourrais pas gérer dynamiquement la position x du clip. Si la position x devait être fixe sur la gauche ça serait simple, mais dans ce cas, j'ai absolument besoin que la position soit fixe mais depuis la droite, ce qui implique que, suivant la longueur de ma bulle, la position x depuis la gauche devra varier, pour que la position depuis la droite soit fixe.

    Oui ça a l'air incompréhensible alors voilà une petite image pour vous aider à comprendre l'idée :



    J'éspère que vous avez compris l'idée !

    Merci.

  2. #2
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    j'espere avoir compris...
    mais si tu connais la longeur de ta bulle, et la largeur de ton animation, je vois pas ou est le probleme...
    exemple avec un clip nomme home :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    home._x=(largeur_ecran-(largeur_bulle-espace_a_gauche));
    la variable qui changera sera largeur_bulle selon la longeur de ton texte dans ta bulle...
    dis moi si je me plante ?!

  3. #3
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par BrItneY
    j'espere avoir compris...
    mais si tu connais la longeur de ta bulle, et la largeur de ton animation, je vois pas ou est le probleme...
    exemple avec un clip nomme home :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    home._x=(largeur_ecran-(largeur_bulle-espace_a_gauche));
    la variable qui changera sera largeur_bulle selon la longeur de ton texte dans ta bulle...
    dis moi si je me plante ?!
    Absolument pas ! C'est exactement ça et c'est tout à fait ce que j'ai tenter de faire. Seulement là, ça ne marche pas et j'avoue ne pas comprendre pourquoi. Espace_a_gauche est une constante que je donne en regardant le meilleur placement pour la bulle et largeur_ecran, comme c'est un site et qu'on ne peut agrandir la fenêtre comme pour une projction par ex. reste constante aussi, y a juste largeur_bulle qui change comme tu l'as dit...mais ça ne marche pas.

    Histoire d'être sur : la taille de l'anim c'est stage.width ?

  4. #4
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    voui, mais avec une majuscule je crois : Stage.width
    sinon, essaye de faire un Trace(); sur toutes tes variables pour voir ce qui bug...sinon defini certaines valeurs afin de savoir si les autres fonctionnent...
    sinon, ecris ton code, je pourrais pt etre te dire...

  5. #5
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par BrItneY
    voui, mais avec une majuscule je crois : Stage.width
    sinon, essaye de faire un Trace(); sur toutes tes variables pour voir ce qui bug...sinon defini certaines valeurs afin de savoir si les autres fonctionnent...
    sinon, ecris ton code, je pourrais pt etre te dire...
    Oui je fais des trace() sans arrêt en fait...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //_parent.descRef.fondRef = ma bulle
    //ref[int(this._name......["site"].length) = taille de mon texte
    //650 = constante
    _parent.descRef.fondRef._width = int(ref[int(this._name.substr(8,1))].attributes["site"].length)*7.5;
    _parent.descRef.fondRef._x = Stage.width - (_parent.descRef.fondRef._width + 650);
    trace(Stage.width+"-"+_parent.descRef.fondRef._width+"+650 = "+_parent.descRef.fondRef._x);
    //exemple de sortie : 720-142.5+650 = -72.5
    //                  : 720-165+650 = -95
    Cette saloperie de bulle se balade totalement, en générale elle se déplace sur une distance moyenne 10-15 pixels... (et le clip de ma bulle est nickel, rien qui traine et qui pourrait fausser la position au redimensionnement...)


  6. #6
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    tu es sur de ta multiplication par 7,5 pour la taille de ton txt ?
    tu as pas d'espacement entre les lettres ?
    tu peux pas recuperer le valeur de la largeur de ta bulle une fois que le texte est insere avec un : _parent.descRef.fondRef._width ?
    ca eviterait tout probleme de calcul de longueur de texte etc...

  7. #7
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par BrItneY
    tu es sur de ta multiplication par 7,5 pour la taille de ton txt ?
    tu as pas d'espacement entre les lettres ?
    Disons que ça varie un peu et que j'en suis conscient, mais après un test je pourrais mettre 7.3... J'ai essayer divers manière de recalculer la taille mais c'est pas terrible. Le problème d'un textfield dynamique, c'est qu'il gardera toujours la taille qu'on lui aura donné lors de sa création manuelle, au pire il rognera le texte. Y a pas un moyen, un paramètre à donner peut-être, pour que le textfield possède la taille exact du texte lorsqu'on modifie celui-ci ? Parce qu'avec un texfield.textWidth je barronerais et ça serait plus précis..

    Citation Envoyé par BrItneY
    tu peux pas recuperer le valeur de la largeur de ta bulle une fois que le texte est insere avec un : _parent.descRef.fondRef._width ?
    ca eviterait tout probleme de calcul de longueur de texte etc...
    J'ai peur de ne pas comprendre ? Je modifie la taille de la bulle en fonction du texte, je calcul le nombre de caractère fois 7.5 et ça me donne la taille de ma bulle, j'ai pas d'autre moyen (enfin comme dit plus haut...).

  8. #8
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    euh... tu peux faire en sorte que ton textField se modifie avec : .autoSize = true;

    Excuse moi, je croyais que tu laissais la bulle en autosize, c'est pour ca que je croyais que tu pouvais recuperer la valeur automatiquement...sorry...

    essaye avec autosize, et ensuite recupere la valeur de ta bulle avec _parent.descRef.fondRef._width...ca devrait te simplifier tes calculs...

  9. #9
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par BrItneY
    euh... tu peux faire en sorte que ton textField se modifie avec : .autoSize = true;

    Excuse moi, je croyais que tu laissais la bulle en autosize, c'est pour ca que je croyais que tu pouvais recuperer la valeur automatiquement...sorry...

    essaye avec autosize, et ensuite recupere la valeur de ta bulle avec _parent.descRef.fondRef._width...ca devrait te simplifier tes calculs...
    Merci pour l'autosize je connaissais pas ! Seulement là, c'est super bizzare ce qui se passe...

    J'ai fait un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    descRef.onEnterFrame = function() {
            this.txt_ref.autoSize = true;
    }
    Seulement ce qui se passe c'est que quand je passe la souris, la bulle s'affiche mais le texte se redimensionne en live, comme un interpolation de mouvement (vu qu'il lit le truc en boucle et qu'à chaque fois qu'il passe dans l'image il corrige la taille apparement). Mais pourquoi est-ce qu'il n'effectue pas l'autosize directement ? Pourquoi il ne l'ajuste pas d'un seul coup ????

    C'est complétement foireux les réactions ! Pour info j'ai modifier mon textField, en dur il ne fait pas plus de 5pixels de large (vu qu'il s'ajuste automatiquement) et il est specifié en "Une seule ligne".

    Merci beaucoup pour ton aide jusqu'à maintenant Britney en tt cas ! (mais je galèèèère)

  10. #10
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    pourquoi le mettre dans un onEnterFrame ??? essaye sans, pour moi tu n'en a pas besoin, il se redimensionnera quand tu l'apelleras...

  11. #11
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par BrItneY
    pourquoi le mettre dans un onEnterFrame ??? essaye sans, pour moi tu n'en a pas besoin, il se redimensionnera quand tu l'apelleras...
    Oui enfin j'avais fait comme ça mais ça déconnais aussi. En fait il me redimensionne pas directement la bulle, si je passe sur un truc ou le texte est long et que j'arrive sur un truc super court, la bulle (qui prend la meme taille que le texte autosizé donc) est énorme et il faut que je fasse du "rollOver/rollOut" avec ma souris pour que ça redimensionne, après le carré se déplace n'importe ou et ne garde pas du tout la distance de x pixels que j'ai donner depuis la droite. C'est le bordel complet et j'ai envie de tout fracasser.

    Je pige rien, quel sacrée saloperie, pourtant c'est tout con mais cet abruti de flash réagis tellement bizzarement que je suis largué...

    PS: pardonnez mon language epicé, mais je m'échauffe facilement

  12. #12
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    ta bulle, tu la balade constament ou tu cree a chaque fois un clip ?
    tu peux pas faire un bidoullage genre quand tu fais un rollOver, tu mets ta bulle en autosize...et quand tu fais un rollOut tu la remets en 5px... (?)
    essaye...

  13. #13
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par BrItneY
    ta bulle, tu la balade constament ou tu cree a chaque fois un clip ?
    tu peux pas faire un bidoullage genre quand tu fais un rollOver, tu mets ta bulle en autosize...et quand tu fais un rollOut tu la remets en 5px... (?)
    essaye...
    J'ai essayer, j'ai intégrer le stattDrag, j'ai tout fait en test et ça marche toujours de manière aussi merdique. J'ai beau réinicialiser mon truc à "" à chaque rollOut avec un autoSize et reprendre ensuite la bonne taille du texte rien y fait, toujours les mêmes trucs qui arrivent.

    J'ai laisser tomber l'autosize et là je retente avec la taille de mes caractères et d'une autre manière...qui ne marche pas vraiment mieux.... ras le bol.

  14. #14
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    y'en a qui sont surement mieux places que moi pour t'aider, dommage qu'ils ne se manifestent pas...
    attends d'ici ce soir, tu trouveras peut etre une bonne ame prete a t'aider...

  15. #15
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par BrItneY
    y'en a qui sont surement mieux places que moi pour t'aider, dommage qu'ils ne se manifestent pas...
    attends d'ici ce soir, tu trouveras peut etre une bonne ame prete a t'aider...
    Merci beaucoup en tout cas !
    En fait là j'ai modifier la chose. Je récupère la position, fixe,de mon texte (qui fait 300 pixels a peu près), ensuite je positionne ma bulle au _x du texte - 300 pixels ce qui affiche la bulle là ou je veux. J'ai même poussé un peu plus loin en gérant les 2 bords de ma bulle arrondie indépendament, de manière à ce qu'ils ne soit pas déformer par le redimensionnement. J'ai toujours un problème de taille en effectuant le calcul de nombre de caractère * 7.3. Mais bon, ça y est presque... oooouuuuffff (et en passant, j'ai fait des conneries pas mal aussi et puis ma technique est finalement très facile, ça me scie de pas y avoir pensé avant...)

    Je met résolu parce que bon...

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

Discussions similaires

  1. [FLASH MX] Le son sur une animation
    Par skyjoe dans le forum Flash
    Réponses: 4
    Dernier message: 23/08/2004, 18h45
  2. Réponses: 2
    Dernier message: 26/05/2004, 17h53
  3. [FLASH 5]un bouton dans une image pour revenir sur une scene
    Par patato valdes dans le forum Flash
    Réponses: 7
    Dernier message: 28/04/2004, 20h21
  4. Réponses: 5
    Dernier message: 27/02/2004, 11h20
  5. Finir une application
    Par Lucien dans le forum Composants VCL
    Réponses: 4
    Dernier message: 08/04/2003, 09h15

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