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 MX2004] Lister des liens externes dans fichier flash


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut [FLASH MX2004] Lister des liens externes dans fichier flash
    Bonjour,
    Sauriez-vous comment, je pourrai lister des liens que j'aurais préalablement lister dans un fichier externe( txt, php etc) et que lorsque je charge mon fichier. swf, il va les lire et les affichers? Evidemment, lorsqu'ils seront afficher, en cliquant sur chaque lien, il ouvrira la page corespondante?
    Merci

  2. #2
    Membre expérimenté Avatar de younes_
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 229
    Par défaut
    Bonjour,
    La première étape ça sera de charger la liste des liens depuis un fichier externe, je te conseille d'utiliser un fichier xml plutôt, pour avoir quelque plus structuré de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" ?>  
    <liens> 
    <lien numero="1" titre="titredulien" url="http://serveur.domaine"/> 
    <lien numero="2" titre="titredulien" url="http://serveur.domaine"/> 
    <lien numero="3" titre="titredulien" url="http://serveur.domaine"/> 
    </liens>
    Je t'invite à lire le tutoriel sur l'utilisation des fichiers xml en Flash à l'adresse : http://bolo.developpez.com/xml/#L1.1

    Ensuite il suffit de créer un texte dynamique et de luis affecter les valeurs récupérer depuis le fichier xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    document.onLoad=function(){ 
    var titre:String;
    var lien:String;
    for(var i=0;i<this.firstChild.childNodes.length;i++)
    titre = this.firstChild.childNodes[i].attributes.titre;
    lien = this.firstChild.childNodes[i].attributes.url;
    textDynamique.text += "<a href='"+lien+"'>"+titre+"</a>";
    }
    }
    Voilà, je pense que tu as tout les éléments
    a+

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Super, merci mais comment flash sait quelle fichier charge?
    Ou es ce que le nom du fichier xml est specifié dans mon code actionscript?
    Merci

  4. #4
    Membre chevronné Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Par défaut
    hello

    Dans flash ouvre l'aide (F1)
    Cherche le dictionnaire actionScript (toutes les classes par ordre alphabétique) et la lettre X cherche la classe XML
    Lis tout ce qui est écrit là dessus

    EKA+

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Merci j'ai trouvé mais voici le resultat:
    mon code dans linksxml.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?xml version="1.0" ?>  
    <liens> 
    <lien numero="1" titre="Yahoo.fr" url="http://www.yahoo.fr"/> 
    <lien numero="2" titre="Google" url="http://www.google.fr"/> 
    <lien numero="3" titre="Developpez.com" url="http://<a href="http://www.developpez.com"/>" target="_blank">www.developpez.com"/></a> 
    </liens>
    Mon code actionScript:
    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
     
    _root.document = new XML();
    //création de l'objet XML
    _root.document.ignoreWhite = true;
    //ignorer les sauts de ligne
    _root.document.load("linksxml.xml");
    //charge le document
    //_root.stop();
    _root.document.onLoad = function() {
    	var titre:String;
    	var lien:String;
    	for (var i = 0; i<this.firstChild.childNodes.length; i++) {
    		titre = this.firstChild.childNodes[i].attributes.titre;
    		lien = this.firstChild.childNodes[i].attributes.url;
    		textLinks2.htmlText += "<a href='"+lien+"'>"+titre+"</a>";
    	}
    };
    Mon probleme est que il n'y a pas de lien. Tout s'affiche en HTML et je souhaiterai qu'il y aie un retour a la ligne apres chaque lien.
    Voici le resultat qui s'affiche a pres avoir publié mon fichier fla.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href='http://www.yahoo.fr'>yhaoo</a><a href='http://www.google.fr'>google</a><a href='http://<a href="http://www.developpez.com&#39;>Developpez.com</a>" target="_blank">www.developpez.com'>Developpez.com</a></a>
    Que me recommanderiez-vous?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Es-ce possible de créer un bouton avec actionscript uniquement?

  7. #7
    Membre chevronné Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Par défaut
    Hello

    Exemple pour créer un bouton dynamiquement :

    1 - créer un clip dans ta bibliothèque contenant sur un calque le fond du bouton et sur un autre calque au dessus un champ de texte "dynamique" (voir dans le panneau de propriété du champ de texte)

    2 - Donne un nom d'occurence au champ de texte dynamique. Il faut sélectionner le champ de texte et dans le panneau de propriété de flash il faut lui donner un nom (dans notre exemple je vais l'appeler field)

    3 - Dans la bibliothèque je fais bouton droit sur le clip et je vais dans paramètre de liaison. Donne un nom de liaison à ton clip pour qu'il soit reconnu dans le code et que tu puisses l'attacher dynamiquement sur ta scène ou dans un autre clip. Je lui donne le même nom que le nom de symbole dans la biblio pour l'exemple : "monButton"

    4 - Ensuite tape ce code sur un calque sur la scène principale de ton animation....
    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
     
    var nButtons = 3 ;
    var listURL = [
        { label : "google", url : "http://www.google.fr" } ,
        { label : "developpez", url : "http://<a href="http://www.developpez.com"" target="_blank">www.developpez.com"</a> } ,
        { label : "ekameleon", url : "http://www.ekameleon.net/blog/" } 
    ]
    for (var i = 0 ; i<nButtons ; i++) {
        var mc = this.attachMovie("monBouton", "bouton"+i , i) ;
        trace (i + " -> attach : " + mc) ;
        mc.myURL = listURL[i].url ; 
        mc.onPress = function( ) { 
              getURL(this.myURL, "_blank") ; // this.myURL est une propriété dynamique de mon bouton
        }
        mc.field.text = listURL[i].label  ;
        mc._x = 25 + (mc._width + 10) * i ;
        mc._y = 25 ;
    }
    Voilà en gros.. utilise l'aide de flash pour comprendre les mots clés que tu ne comprends pas.. tu peux sélectionner un mot dans le panneau d'action et appuyer sur F1 !

    EKA+

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    merci beaucoup je vais essayer

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Excellent, merci beaucoup!!!!
    Pourrais-je encore te demandé un truc?
    Comment puis je moifier ton code que lorsque la souris est "over", la couleur change
    et comment puis modifier ton code pour que le lien se trouve l'un desous l'autre ou lieu de les avoir a la suite?

    Merci beaucoup

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Pour la couleur du text j'ai essayé un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	mc.onRollOver = function(){
    	mc.field.textColor="red";
    	}
    que j'ai placé avant le mc.onPresse=function()

    Mais ca pas changer grand chose...

  11. #11
    Membre chevronné Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Par défaut
    tu lis pas la documentation et c'est bien dommage Tu perdrais moins de temps à consulter l'aide qu'à venir sur le forum Pas que faut pas poser des questions hein.. mais là tu es pas assez attentif

    Donc les couleurs dans flash c'es pas sous forme d'une chaine de caractère mais c'est un nombre ....

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mc.field.textColor = 0xFF0000 ; // rouge
    tu as le noir : 0x00000 et le blanc : 0xFFFFFF

    Dans flash teste un truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    trace ("noir : " + 0x00000 ) ;
    trace ("blanc : " + 0xFFFFFF ) ;
    Tu vois que cela va de 1 à 16 millions de couleurs en gros....

    Donc quand tu écris 0xrrvvbb tu as :
    - rr = le rouge de 00 à FF
    - vv = le vert de 00 à FF
    - bb = le bleu de 00 à FF

    pourquoid e 00 à FF ? car c'est de l'hexadécimal (base 16).... et pas un décimal (base 10)
    Donc cela va de 0 à 9 et de A à F pour faire 16 valeurs.

    donc en gros 00 = 0 et FF = 255.
    Tu peux donc régler les niveaux de rouge, vert et bleu selon ce principe.

    En HTML on écrit #FF0000 par exemple et du coup dans flash on utilise des nombres mais on peut les écrire sous la forme 0xFF0000 pour faire style qu'on utilise un hexa.. même si en actionscript 1 et 2 on peut pas utiliser autre chose qu'une variable de type Number en base 10.

    Voilà en gros toute l'histoire...
    EKA+

  12. #12
    Membre chevronné Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Par défaut
    J'ai oublié de te dire.... utilise un this quand tu es dans l'objet...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    mc.onRollOver = function(){
       this.field.textColor="red"; // this correspond à mc !!
    }
    EKA+

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Je n'arrive non plus pas positinner le premier lien a _x=0 et _y=0.
    J 'ai modifier les valeur de ton codw que le positionne... et no suceess

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Je n'arrive non plus pas positinner le premier lien a _x=0 et _y=0.
    J 'ai modifier les valeur de ton codw que le positionne... et no suceess

  15. #15
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Merci beaucoup. Pour la couleur, c'est réglé, ca marche très bien aussi bien pour le onRollOut et le onRollOver...
    Merci!!

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Le truc que j'aimerai encore savoirm c'est le retour a la ligne.
    Que dois-je intégré dans le code pour avoir un truc du genre <br> qu'on utilise en html.

    J aimerais donc que chaque lien soient les un au dessous des autre

  17. #17
    Membre chevronné Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Par défaut
    http://www.developpez.net/forums/viewtopic.php?t=415086

    difficile de faire un juste milieu mais soit tu restes dans ton message, sois tu postes dans un autre post... mais évite les multi-post pour une même question

    EKA+

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

Discussions similaires

  1. liens externes dans flash
    Par jem27 dans le forum Flash
    Réponses: 0
    Dernier message: 14/04/2008, 15h36
  2. Réponses: 16
    Dernier message: 04/03/2008, 15h51
  3. Soucis flash XML contenant des liens dans un texte dynamique
    Par codefalse dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 15/08/2007, 16h39
  4. Réponses: 4
    Dernier message: 26/06/2006, 11h41
  5. Réponses: 4
    Dernier message: 06/03/2006, 10h38

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