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 :

soucis lien hypertexte dans swf


Sujet :

Flash

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut soucis lien hypertexte dans swf
    Bonjour

    Je suis désolé mais malgrès mes recherche je n'arrive pas a trouver comment faire un lien (interactif) dans mon animations flash .
    En faite lorsque la souris passe sur le lien la main s'affiche bien mais je souhaiterai que : soit le texte change de couleur, soit il se souligne comme la "norme" le veut !
    Sachant que mon texte est en faite une liste de lien clikable (avec puce les un en dessous des autres) ...
    Je trouve cela bizard que cette fonction ne se trouve pas sous flash !

    Merci d'aidé un gros noob comme moi

  2. #2
    Membre habitué
    Profil pro
    Développeur multimédia
    Inscrit en
    Juin 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juin 2009
    Messages : 130
    Points : 176
    Points
    176
    Par défaut
    Qu'est-ce que tu appels liens cliquables?

    En flash il n'existe pas d'objet permetant le clique directement, sauf si tu créé un objet bouton.

    Tu fais ton objet, tu selectionne, F8, puis tu coches "bouton".

    Ensuite, tu as automatiquement des images clefs liés aux états (survol/Over, en dehor/out, cliké/bouton pressé)
    A chaque image clef, tu créé l'état dans lequel tu veux qu'il s'affiche.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci de ta réponce ! Mais il n'esiste pas de d'autre moyen de faire cela ? on est obligé de passé par un bouton ?
    Sinon je pensai importé un texte HTML au seins de mon animation swf ... serai ce viable et rentable sachant que j'ai 60 liens dans cette liste ?

  4. #4
    Membre habitué
    Profil pro
    Développeur multimédia
    Inscrit en
    Juin 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juin 2009
    Messages : 130
    Points : 176
    Points
    176
    Par défaut
    Le plus rentable, c'est de créé un objet qui prenne en paramètre de tes liens pour ne pas être obligé de le créé 60 fois dans l'IDE.

    par exemple, tu créé un classe LinkButton.

    Ses 60 liens doivent être dirigés sur des pages web, ou sur des modules de ton flash.

    Au pire tu peux le mettre en facultatif. Dans le sgrandes ligne, ça te donnerais quelque chose comme ça:
    Code AS3 : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    package fr 
    {
    	import flash.display.Sprite;
    	import flash.events.MouseEvent;
    	import flash.events.NetFilterEvent;
    	import flash.net.navigateToURL;
    	import flash.net.URLRequest;
    	import flash.text.TextField;
    	/**
    	 * ...
    	 * @author Fazermokeur
    	 */
    	public class LinkButton extends Sprite
    	{
    		private var _tf:TextField;
    		private var _zone:Sprite;
     
    		private var _HTML_Link:Boolean;
    		private var _LINK:String;
    		public function LinkButton(intitule:String, link:String, html:Boolean = false) 
    		{
    			_HTML_Link = html;
    			_LINK = link;
    			//créatio dynamique de ton champs de texte
    			_tf = createTextfield(intitule);
     
    			//création d'une zone transparente au dessus du texte pour la gestion de la souris
    			_zone = createInteractivZone();
     
    			_zone.addEventListener(MouseEvent.MOUSE_OVER, handleOver);
    			_zone.addEventListener(MouseEvent.MOUSE_OUT, handleOut);
    			_zone.addEventListener(MouseEvent.CLICK, handleClick); 
     
    			addChild(_tf);
    			addChild(_zone);
    		}
     
    		/*
    		 * re&ction en fonction des paramètre
    		 */
    		private function handleClick(e:MouseEvent):void 
    		{
    			if (_HTML_Link) {
    				navigateToURL(new URLRequest(_LINK), "_blank");
    			}else {
    				/*	Appel du module à l'aide de la variable _LINK	*/
    			}
    		}
     
    		/**
    		 * réaction lorsque la souris survbole la zone
    		 */
    		private function handleOver(e:MouseEvent):void 
    		{
    			/*	Apparition effet souligné par exemple	*/
    		}
     
    		/**
    		 * réaction de la souris quitte la zone
    		 */
    		private function handleOut(e:MouseEvent):void 
    		{
    			/*	disparition effet souligné */
    		}
     
    		private function createInteractivZone():Sprite
    		{
    			var s:Sprite= new Sprite();
    			s.graphics.beginFill(0xff0000, 0);
    			s.graphics.drawRect(tf.x, tf.y, tf.width, tf.height);
    			s.graphics.endFill();
    			return s;
    		}
     
     
    		private function createTextfield(value:String):TextField
    		{
    			var tf:TextField = new TextField();
    			tf.htmlText = value;
    			return tf;
    		}
     
    	}
     
    }

    Pour le créé avec 60 liens différents, tu n'a qu'à récupéré la valeur et le l'url de tes liens, tu les mets dans des tableaux value et url, puis dans une boucle, tu appelles
    Code AS3 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for (var i:int = 0; i < 60; i++) 
      {
        var button:LinkButton = new LinkButton(value[i], url[i]);
        button.x = ?
        button.y = ?
        addChild(button);
      }

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Super ! merci beaucoup , je vais étudié sa tranquillement parce que je suis vraiment débutant et sa me semble plus interressant comme méthode que de créer des boutons !
    Donc si on ve mettre un lien dans un texte rédigé sous flash et qu'il y a qu'un seul mot en liens dans le texte. Il n'existe pas de méthode pour ne faire souligé que ce mot ?

  6. #6
    Membre habitué
    Profil pro
    Développeur multimédia
    Inscrit en
    Juin 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juin 2009
    Messages : 130
    Points : 176
    Points
    176
    Par défaut
    Ok je n'avais pas compris que tu voulais que ton liens HTML soit inclus dans un paragraphe. Avec un champs de texte normal, tu peux utiliser la méthode htmlText:

    Code AS3 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var tf:TextField = new TextField();
    addChild(tf);
    tf.htmlText = "<p> Hello <a href=\"http://www.google.fr\">bonjour</a></p>";

    Après, pour souligner le mot bonjour au survole, tu peux essayer de faire un TextFormat en rajoutant un style css avec un
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    a:hover { 
      text-decoration:underline; 
    }
    Mais je ne te promet rien :o)

Discussions similaires

  1. Lien hypertexte dans swf bug etrange
    Par BoloG dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 23/07/2009, 20h57
  2. lien hypertexte dans le corps d'un mailto
    Par ludovik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/10/2005, 16h10
  3. [MFC] liens hypertexte dans un CRichEditCtrl
    Par hiko-seijuro dans le forum MFC
    Réponses: 1
    Dernier message: 15/06/2005, 12h14
  4. Réponses: 3
    Dernier message: 26/10/2004, 07h31
  5. lien hypertexte dans une anim flash
    Par vedder dans le forum Flash
    Réponses: 17
    Dernier message: 14/01/2004, 14h11

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