Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
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 24/01/2012, 12h28   #1
Membre éclairé
 
Homme John
Étudiant
Inscription : juin 2010
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme John
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 128
Points : 396
Points : 396
Par défaut Utiliser une méthode d'un autre langage

Salut à tous,

Je suis entrain de programmer en AS3, et j'aimerais savoir comment faire pour utiliser, dans mon code JavaScript, une méthode de mon programme AS3.

J'ai vu quelque chose qui pourrait m'aider, mais je n'arrive pas à saisir comment faire.

C'est ici : http://www.adobe.com/devnet/flex/art...avascript.html

http://www.switchonthecode.com/tutor...ernalinterface

La méthode getFlexApp() me parait intéressante. Si vous pouvez m'aider, je serais ravis.

Merci d'avance.

John.
Johngtrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 12h58   #2
Membre régulier
 
Inscription : octobre 2010
Messages : 65
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 65
Points : 87
Points : 87
Salut !

Si ton environnement d’exécution JavaScript est un navigateur web et que ta méthode AS3 soit compilée dans un clip Flash (SWF), alors les ExternalInterfaces te permettront une interopérabilité quasi-complète !

Tu expose ta méthode AS3 avec addCallback en lui indiquant un nom de fonction qui sera disponible en JavaScript sur l’élément object de ton DOM.

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
package
{
	import flash.external.ExternalInterface;
 
	public class Vector extends flash.display.Sprite 
	{	
		public function Vector():void 
		{
 
			ExternalInterface.addCallback("crossProduct", 
				function( v1:Object, v2:Object) : Object
				{
					var res:Object = 
					{	x : (v1.y * v2.z) - (v1.z * v2.y),
						y : (v1.z * v2.x) - (v1.x * v2.z),
						z : (v1.x * v2.y) - (v1.y * v2.x)
					};
					return res;
				}
			);
		}		
	}	
}

Code JavaScript :
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
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"src="swfobject.js"></script>
<script type="text/javascript">
<!--
swfobject.embedSWF(
	"Vector.swf","Vector", "100%", "100%", "9.0.0",undefined,{}, 
	{	menu: "false",
		scale: "noScale",
		allowFullscreen: "true",
		allowScriptAccess: "always",
		bgcolor: "",
		wmode: "direct" 
	}
);
function crossProductTest()
{
	var Vector = document.getElementById("Vector");
	var res = Vector.crossProduct( { x:1, y:0, z:0}, { x:0, y:1, z:0});
	alert(JSON.stringify(res));
}
-->
</script>
</head>
<body>
<div id="Vector"></div>
<button onclick="crossProductTest();">test crossProduct</button>
</body>
</html>
p3ga5e est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/01/2012, 13h59   #3
Membre éclairé
 
Homme John
Étudiant
Inscription : juin 2010
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme John
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 128
Points : 396
Points : 396
Oh super merci beaucoup !! Tu m'as fais sortir de cette galère... Je n'en voyais plus la fin.

Merci infiniment.

Big GG
Johngtrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h28.


 
 
 
 
Partenaires

Hébergement Web