Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2010, 15h18   #1
Invité de passage
 
jeremy fruish
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations personnelles :
Nom : jeremy fruish

Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 1
Points : 1
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
beauceron03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 21h51   #2
Membre habitué
 
Développeur multimédia
Inscription : juin 2009
Messages : 128
Détails du profil
Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : juin 2009
Messages : 128
Points : 148
Points : 148
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.
fazermokeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 00h39   #3
Invité de passage
 
jeremy fruish
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations personnelles :
Nom : jeremy fruish

Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 1
Points : 1
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 ?
beauceron03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 17h31   #4
Membre habitué
 
Développeur multimédia
Inscription : juin 2009
Messages : 128
Détails du profil
Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : juin 2009
Messages : 128
Points : 148
Points : 148
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 :
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 :
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);
  }
fazermokeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 20h21   #5
Invité de passage
 
jeremy fruish
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations personnelles :
Nom : jeremy fruish

Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 1
Points : 1
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 ?
beauceron03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 15h59   #6
Membre habitué
 
Développeur multimédia
Inscription : juin 2009
Messages : 128
Détails du profil
Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : juin 2009
Messages : 128
Points : 148
Points : 148
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 :
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 :
1
2
3
4
 
a:hover { 
  text-decoration:underline; 
}
Mais je ne te promet rien :o)
fazermokeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h32.


 
 
 
 
Partenaires

Hébergement Web