XML AS2

Messages postés
44
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
6 juillet 2011
- - Dernière réponse : quinton75
Messages postés
44
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
6 juillet 2011
- 25 nov. 2010 à 11:03
Bonjour,

Comment intégrer une URL et la fonction ouvrir l'url au clic sur le bouton en Flash via XML ??
Afficher la suite 

11 réponses

Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011
0
Merci
Yop,

Soit un fichier xml suivant :
<xml>
   <truc url="http://www.flashkod.com" />
</xml>


au chargement du fichier xml :

var url:String = document.firstChild.childNodes[0].attributes.url;

bouton.onPress = function() : Void
{
     getURL(url, "_blank");
}
Commenter la réponse de dj_ouf
Messages postés
44
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
6 juillet 2011
0
Merci
Merci de ta réponse rapide dj ouf ....
Donc la en fait je reprendre tel quel tes codes sur 2 fichier vierges en donnant un nom d'occurence au bouton.
Par contre il est ou le lien vers le fichier xml sur ton as??merci
Commenter la réponse de quinton75
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
0
Merci
Pour le XML en AS2, il existe un fabuleux tuto de notre amis BlackWizzard qui explique tout ce dont tu as besoin pour charger et traiter un XML.
Ensuite, le copier/coller de codes que l'on te donne comme exemple ne sert à rien si tu ne le comprends pas un minimum.

Peg'
Commenter la réponse de pegase31
Messages postés
221
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
6 septembre 2011
0
Merci
Il faut bien entendu chargé le xml avant, partie que je n'ai pas démontrer, car c'est une procédure très habituelle que tu pourras trouver dans vraiment plusieurs tutos!

Après, je t'ai montré comment faire ton cas spécifique, appliquer un lien url à un bouton.

Sur ce site il a plein de tutos.

bon courage
Commenter la réponse de dj_ouf
Messages postés
44
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
6 juillet 2011
0
Merci
Merci de vos réponses. Voici mes codes sources mais le lien n'apparait pas.Uniquement du texte apparait....J'aimerais avoir un lien qui puisse etre cliquable.

var lireXML:XML = new XML();
lireXML.ignoreWhite = true;
var sortie:String = "";
URL = "";

lireXML.onLoad = function(succes) {
    if (succes) {
        var donnees:Array = lireXML.firstChild.childNodes;
        for(i=0;i<donnees.length;i++) {
            sortie += "\n";
            sortie += donnees[i].childNodes[0].firstChild.nodeValue;
            sortie += donnees[i].childNodes[1].firstChild.nodeValue;
            sortie += "\n";
            sortie += donnees[i].childNodes[2].firstChild.nodeValue;

        }
        data_txt.htmlText = sortie;
    }
    else
    {
        data_txt.text = "Lecture du fichier XML impossible.";
    }
}
lireXML.load("donnees.xml");


<?xml version="1.0" encoding="UTF-8"?>
<donnees>

    
        <titre>Auteeeeeeur</titre>
        <date>Titre</date>
<![CDATAhttp://www.developpez.net/forums/newreply.php?do=newreply&noquote=1&p=4588620]>

    

    
        <titre>Auteur</titre>
        <date>Titre</date>
        <texte>Photo</texte>
    


</donnees>
Commenter la réponse de quinton75
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Hello,

il te suffit de créer un bouton au préalable dans ton flash, bouton dans lequel tu chargeras le texte du lien en question, puis sur ce bouton tu mets une action qui pointe vers le lien du xml, ainsi lors du clic sur le bouton tu envoies le visiteur sur le lien défini.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01
Messages postés
44
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
6 juillet 2011
0
Merci
Merci de ta reponse Bbfunk Mais comment faire ?
J'ai cree une zone de texete dynamique dans lequel apparait tout le texte mais j'aimerais que dans cette zone lorsque je passe sur à la balise URL , je puisse clique dessus...

Comment dire au bouton : vas sur tel lien généré dans le XML ?

Pour info, le code que j'ai mis ci dessus marche mais en as1 Flash player 6 mais j'ai développé une anim en as2 Flash player 9 donc je souhaiterais le modifier mais je ne sais pas comment.
Commenter la réponse de quinton75
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Re,

modifier des sources c'est bien pour commencer l'apprentissage de Flash, mais il arrive un moment où il est finalement plus performant de créer ses codes soi-même de A à Z, déjà dans un premier temps parce que les sources desquelles on part sont obsolètes, et surtout parce qu'il est alors possible de construire son animation avec l'architecture qu'on désire. Je ne dis pas que c'est facile, mais en tout cas c'est plus intéressant et on se pose alors les questions suivantes :
"Par où commencer ?"
"Comment puis-je faire cela ?"
"Est-il plus judicieux de charger ce fichier xml avant de déclarer ces variables ?"
"Est-ce qu'il est préférable que je code sur une seule image clé ou sur plusieurs pour cette animation ?"
... Et beaucoup d'autres encore !

Mais c'est LA que ça devient palpitant, car en persistant à vouloir modifier les sources d'autrui tu te conditionnes dans une évolution très lente, en partant d'une page blanche tu t'obliges à penser réellement à la meilleure manière de procéder pour que ton animation soit la plus réussie possible.

Dans ton cas tu souhaites pouvoir créer des liens cliquables dont les url sont stockés dans un fichier xml, tu dis que tu as créé un champ de texte dynamique dans lequel tu charges tout ton texte, j'en déduis donc que tu affiches tous les nœuds de ton xml dans ce champ de texte dynamique. Donc je te donne un élément de réponse : ne serait-il pas judicieux de créer plusieurs champs de textes dynamiques ? (au moins deux pour le coup...)
Par exemple un champ de texte dynamique dans lequel tu chargerais les textes qui ne sont pas censés être cliqués, et un autre pour le lien en question.
Tu souhaites par la suite que ce lien soit cliquable, donc deuxième élément de réponse : pourquoi ne pas créer un bouton ou un clip que tu stockerais dans la bibliothèque par exemple, et ce clip ou ce bouton contiendrait le second champ de texte dynamique que nous avons évoqué précédemment, et lors du clic sur ce clip ou ce bouton tu indiquerais comme action celle qui t'a été soufflée plus haut dans le post :
var url:String = document.firstChild.childNodes[0].attributes.url;

bouton.onPress = function() : Void
{
     getURL(url, "_blank");
}


Puis tu affiches le clip ou le bouton en faisant un attachMovie().

bref, quelques pistes à creuser...

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
0
Merci
Moi ce que je ne comprends pas c'est pourquoi tu commences par apprendre un langage dans sa version antérieure.
Surtout qu'en as3 tu ne serait pas emmerdé du tout avec tes ciblages XML ...

Peg'
Commenter la réponse de pegase31
Messages postés
44
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
6 juillet 2011
0
Merci
car je suis en stage et j'ai à dévélopper une mettre à jour une anim en as2
Commenter la réponse de quinton75
Messages postés
44
Date d'inscription
mercredi 13 octobre 2010
Statut
Membre
Dernière intervention
6 juillet 2011
0
Merci
J'ai testé cela en vain

var lireXML:XML = new XML();
lireXML.ignoreWhite = true;
var url:String = document.firstChild.childNodes[0].attributes.url;


lireXML.load("donnees.xml");

lireXML.onLoad = function(succes) {
        var donnees = lireXML.firstChild.childNodes;
        for(i=0;i<donnees.length;i++) {
            url += donnees[i].childNodes[0].firstChild.nodeValue;
        }
        data_txt.htmlText = url;
    }
    
url.onPress = function() : Void
{
     getURL(url, "_blank");
}


<?xml version="1.0" encoding="UTF-8"?>
<donnees>
    
<![CDATAhttp://www.developpez.net/forums/newreply.php?do=newreply&noquote=1&p=4588620]>

</donnees>
Commenter la réponse de quinton75