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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé 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
    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 chevronné Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    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 confirmé 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
    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 chevronné Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    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 confirmé 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
    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 chevronné Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    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...

+ 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, 19h45
  2. Réponses: 2
    Dernier message: 26/05/2004, 18h53
  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, 21h21
  4. Réponses: 5
    Dernier message: 27/02/2004, 12h20
  5. Finir une application
    Par Lucien dans le forum Composants VCL
    Réponses: 4
    Dernier message: 08/04/2003, 10h15

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