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 1 & ActionScript 2 Discussion :

javascript vers flash, utiliser la valeur du champ texte dynamique


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut javascript vers flash, utiliser la valeur du champ texte dynamique
    Bonjour tout le monde,

    j'essaie de faire une page html qui communique avec mon animation flash, j'arrive à mettre la valeur javascript dans l'animation sous forme de champ de texte dynamiquen mettant le code ci dessous dans HTML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function appel() {
    window.document.myFlash.SetVariable("toto", "1");
    }
    et mon champ de texte dynamique avec la variable 'toto' affiche 1

    jusque la tout va bien

    mais après si je veux utiliser cette variable toto dans l'animation et ben ça marche pas

    j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(toto == 1) { trace('ok') } // marche pas
     
    var myVarFlash=Number(_root[toto]);
    if(myVarFlash== 1) { trace('ok') } // marche pas non plus
     
     
    if(monChamp.text == "1") { trace('ok') } // monChamp est le nom de l'occurence de variable toto mais ca  marche pas non plus
    je tourne en rond depuis 2 jours et je trouve pas la solution,
    avez-vous des idées pour résoudre ce casse-tête?

    merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    Salut,
    Ta variable toto est un string donc il faudrait peut être que tu mettes des guillemets ou des quotes pour tes tests:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     if (toto == '1')
    au lieu de
     if (toto == 1)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    bonjour,

    merci pour ta réponse, j'ai essayé avec et sans guillemets et avec des quotes aussi mais rien ne marche

  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 : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    et le il donne quoi ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    trace(_root[toto]);

    donne undefined

    mais c'est normal puisque la valeur toto prend la valeur 1 que quand on arrive sur la page et quand on y est on voit le chiffre 1

    ca m'a donné une idée et j'ai mis à la première ligne

    et j'ai mis un autre champs de texte sur la scène l'occurrence : txt2
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    txt2.text=_root[toto];  // j'ai essayé _root['toto'], _root.toto,_root["toto"] ;)
    sur la page :

    txt1 affiche 1 (valeur de toto)
    txt2 affiche 0 ?????

    enfaite, savez-vous comment on peut voir trace() sur une page internet ?

    merci pour vos reponses

  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 : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    savez-vous comment on peut voir trace() sur une page internet ?
    on ne peut pas à proprement dit,

    mais ça revient à placer un textField dans ton anim puis à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monChamps.text = maVariable.toString();
    sinon pour ton problème en fait c'est plus très clair,

    qu'est ce que t'arrive pas à faire exactement ?
    poste ton code entier ça sera mieux

    +

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    bonjour,

    en effet je suis désolé c'est devenu n'importe quoi mon code

    le voila :

    cote HTML :

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>javascript to flash</title>
    <script language="javascript" type="text/javascript">
    <!--
    function appel() {
    window.document.myFlash.SetVariable("toto", "1");
    }
     
    -->
    </script>
    <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
    </head>
    <body onload="appel();">
    <script type="text/javascript">
    AC_FL_RunContent( 'id','myFlash','codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','200','height','265','src','fla/siteV1-ssmenuV5','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','name','myFlash','swliveconnect','true','movie','fla/siteV1-ssmenuV5' ); //end AC code
    </script><noscript><object id="myFlash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="200" height="265">
    <param name="movie" value="fla/siteV1-ssmenuV5.swf" />
                <param name="quality" value="high" />
                <embed src="fla/siteV1-ssmenuV5.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="200" height="265" name="myFlash" swLiveConnect="true"></embed>
              </object></noscript>
    </body>
    </html>
    cote flash

    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
     
     
    stop();
    var toto=0;
     
    var myVarFlash=Number(_root.toto);
     
    // myVar est l'occurrence de toto il affiche "1" sur l'écran
     
    txt2.text=myVar.text;  // ->affiche 0
    txt3.text=toto;           // -> affiche 0
    txt4.text=myVarFlash;  // ->affiche 0
    if(myVarFlash == "1")
       {
       txt5.text="test";      // -> affiche rien 
     
    }
    merci encore pour vos messages

  8. #8
    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 : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    il faut que tu choisisse si ta variable est une chaine de caractere ou un nombre,

    tu envoi une chaine ( "1" ), et tu la recupère dans une variable de type Number.

    si tu veux garder un nombre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var myVarNumber:Number = Number(_root.toto);
     
    monChamps.text = myVarNumber.toString();
    si tu veux tester la valeur, utilise "1" si ta variable est une chaine, 1 si c'est un nombre.

    +

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    salut,

    t'as raison c'est ma faute milles excuses, j'ai pas mis toutes les combinaisons que j'ai essayé

    j'ai essayé les

    if(myVarFlash ==1),
    if(myVarFlash =="1"),
    if(myVarFlash =='1')

    ou les

    var myVarFlash:Number=Number(_root.toto);
    var myVarFlash:Number=Number(_root[toto]);
    var myVarFlash:Number=Number(_root['toto']);
    var myVarFlash:Number=Number(_root["toto"]);

    et aussi les versions avec String

    idem dans javascript
    appel("toto",1);
    appel("toto",'1');
    appel("toto","1");
    appel('toto',1);


    mais au bout de 3 jours de recherche je pense que dans Flash on peut pas utiliser une variable venant de javascript (avec SetVariable )

    on peut l'afficher mais on peut pas utiliser sa valeur dans une fonction...

    je pense investir dans flash 8 et essayer ExternalInterface

    merci à tous pour vos reponses

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 200
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par darkturkey Voir le message
    mais au bout de 3 jours de recherche je pense que dans Flash on peut pas utiliser une variable venant de javascript (avec SetVariable )
    on peut l'afficher mais on peut pas utiliser sa valeur dans une fonction...
    Salut,
    Mais si on peut, je le fais d'ailleur régulièrement. Tu devrais jeter un oeil sur la fonction watch.

Discussions similaires

  1. Récuperer coté serveur la valeur de champs créer dynamiquement en javascript
    Par julien.le.cool dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 05/01/2007, 10h25
  2. utilisation de la valeur du champs texte dans la meme page
    Par dracula2000 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/04/2006, 11h48
  3. Réponses: 3
    Dernier message: 15/11/2005, 11h07
  4. Communication Javascript vers Flash
    Par wwave dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/11/2005, 11h00

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