Jump to content

[Centralisation] Flash/AS3


Recommended Posts

Adobe Flash (anciennement Macromedia Flash; nom original FutureSplash Animator), ou simplement Flash, se réfère à Adobe Flash Player et à un logiciel multimédia utilisé pour créer le contenu de Adobe Engagement Platform (tel qu’une application Internet, jeux ou vidéos). Flash Player, développé et distribué par Adobe Systems (qui acheta Macromedia en 2005), est une application client fonctionnant sur la plupart des navigateurs Web. Ce logiciel permet la création de graphiques vectoriels et de bitmap, un langage script appelé ActionScript et un stream bi-directionnel de l’audio et vidéo.

La dernière version du logiciel est Flash CS3. Elle permet de programmer en ActionScript 3 derrière ses animations, langage largement plus appronfondi que l' AS2.

Une application créé par CS3 ne peut être lu par Flash 8.

Documentation

Adobe, sur son site met à disposition une très grosse doc : Ici

Avec principalement cette section sur l'utilisation du logiciel en lui-même : ici

Et cette fois la documentation AS3 : ici

Tutoriaux

Une ressource monstrueuse, encore par Adobe: ici

C'est plein de tutos vidéo sur l'utilisation de Flash (et des autres logiciels adobe d'ailleurs)

Encore une autre ressource bien fournit, le site de MediaBox : ici

Référencement d'un site Flash

ça arrive :transpi:

Liens divers

http://www.flashxpress.net/

gros site avec un bon forum

http://www.bases-as3.fr/

un bon blog

un site qui explique des trucs fondamentaux sur le contrôle d'une anim flash

réservé à venir la F.A.Q.

Link to comment
Share on other sites

  • Replies 68
  • Created
  • Last Reply

F.A.Q.

Comment faire un lien vers une page web ?

C'est super simple !

Il faut utiliser la fonction navigateToURL(urlrequest(),"target");

var monadresse:URLRequest = new URLRequest("votreadresse");
  navigateToURL(monadresse,"_blank");

Comment déclencher un évènement ?

C'est bien beau de faire un lien, mais encore faut-il qu'il s'exécute à un moment donné...

Pour ça,il va falloir ajouter un écouteur d'évènement sur une occurence présente sur la scène.

Créez un champ texte sur la scène et nommez le "monlien"

monlien.addEventListener(MouseEvent.MOUSE_CLICK,jefaismonlien);
  function jefaismonlien (evt:MouseEvent)
  {
	  var monadresse:URLRequest = new URLRequest();
	  navigateToURL(monadresse,"_blank");  
  }

avec ce code, lorsqu'on clique sur le texte, ça ouvre une fenêtre à l'adresse indiqué.

J'utilise ici un évènement de type souris, il y en a plein : MOUSE_OVER,MOUSE_OUT...

On a aussi les évènement de type KEYBOARD, et plus généralement la classe Event qui contient tous les évènement reconnu par AS3, cherchez son aide dans la doc de Flash !

Quelque chose qui suit la souris ...

On va ici utilisé un textfield avec une indication qui suit la souris

on créé d'abord le textfield

var aide:TextField = new TextField();
  aide.width=160;
  aide.height=40;
  aide.x=100;
  aide.y=150;
  aide.multiline=true;
  aide.wordWrap=true;
  aide.border=true;
  aide.background=true;
  var bgcolor:uint = 0xFF0000
  aide.backgroundColor=bgcolor;
  aide.htmlText="<font face=\"verdana\" color=\"FF0000\">Appuyez sur Espace pour agrandir le menu</font>";
  addChild(aide);

ensuite on récupère les coordonnées de la souris et on définit les coordonnées du textfield sur celle-ci

stage.addEventListener(MouseEvent.MOUSE_MOVE, bougeletexte);
  function bougeletexte (event:MouseEvent):void
  {
   aide.x=event.stageX+10;
   aide.y=event.stageY-10;
  }

Link to comment
Share on other sites

Bonne idée cette centralisation Eagle :transpi:

Juste une petite chose :

Une application créé par CS3 ne peut être lu par Flash 8.[/size]

Ce n'est pas tout à fait exact.

L'AS 3 n'est pas géré par Flash Player 8.

En revanche, les graphismes crées sous CS3 (en tout cas basiques ; peut-être pas avec des filtres ... à voir) sont reconnus par Flash Player 8, et le code en AS2 sera correctement éxécuté.

En ce qui concerne les animations, je n'ai jamais essayé, à tester.

Link to comment
Share on other sites

tiens j'ai une question !

je suis encore loin de la dans mon projet mais j'y pense à l'avance

j'ai dans ma base de donnée des urls d'images

une fois que mon anim flash a récupéré l'url de ces images, elle est capable de s'en servir comme un clip ?

Link to comment
Share on other sites

Tu peux utiliser un Movie Clip comme "contenant" d'une image grâce à addChild(). Cela te permet de la positionner et de la redimentionner.

Attention toutefois, pour que ton image soit bien positionnée dans le MC (Movie Clip), il faut que son point d'enregistrement (que l'on définit à la création du MC ... mais "enregistrement" n'est peut-être pas le terme exact :up:) soit situé en haut à gauche.

Link to comment
Share on other sites

bon la je commence :mad2: :

j'ai un fichier php qui me sors les infos nécessaire à afficher dans mon anim flash.

j'ai esayé de charger grâce à URLLoader et URLRequest mais çame charge le fichier etxtuellement (donc le code)

il y a une technique pour récupérer les variables d'un script php (puisqu'on peux envoyer d'une anim flash à un script...)

sinon je vais être obliger de faire php -> xml -> flash

Link to comment
Share on other sites

bon la je commence :chinois: :

j'ai un fichier php qui me sors les infos nécessaire à afficher dans mon anim flash.

j'ai esayé de charger grâce à URLLoader et URLRequest mais çame charge le fichier etxtuellement (donc le code)

il y a une technique pour récupérer les variables d'un script php (puisqu'on peux envoyer d'une anim flash à un script...)

sinon je vais être obliger de faire php -> xml -> flash

SWX : format natif d'échange de données de flash

http://swxformat.org/documentation/swx-php

Link to comment
Share on other sites

J'ai jamais essayé mais cela m'ettonerai fortement que ce ne le soit pas.

Edit : hummm, finalement je suis plus si sûr... apparemment l'assembleur Flash 9 serait en préparation depuis décembre 2006 mais toujours pas finalisé. Il semblerait que d'autres formats concurrents aient ébranlés SWX.

http://www.davidarno.org/2007/12/13/has-ad...ust-killed-swx/

Link to comment
Share on other sites

j'ai trouvé un petit truc que je suis en train de regarder :

var variables:URLVariables = new URLVariables();
variables.title = "AStorm for ever";
variables.text = "I love to write some basic tickets on my blog :)";

var request:URLRequest = new URLRequest("form.php");
request.data = variables;
request.method = URLRequestMethod.POST;

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, onXmlLoaded);
loader.load(request);

function onXmlLoaded(evt:Event):void
{
  var doc:XMLDocument = new XMLDocument();
  doc.ignoreWhite = true;
  doc.parseXML(loader.data as String);

  var title:String = doc.firstChild.childNodes[0].firstChild.nodeValue;
  var text:String = doc.firstChild.childNodes[1].firstChild.nodeValue;

  trace("title : "+title);
  trace("text : "+text);
}

çe me fait une erreur comme ça

c'est un cp d'un site c'est le week end je regarderai ça demain ^^

le fichier php :

<?
$title = $_POST["title"];
$text = $_POST["text"];

//actions diverses...

//renvoi sous forme XML
header ("Content-Type: text/xml");

echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
echo "<root>";
echo "<title>$title</title>";
echo "<text>$text</text>";
echo "</root>";
?>

Link to comment
Share on other sites

j'ai abandonné l'idée de récup des variables php...

en faite je passe par un fichier xml, mon swf charge ce fichier et se sert des infos...

voila ce que je veux :

mon swf à charger par exemple 5 restaurants, avec pour chacun 1 nom et l'url d'une image

je voudrai afficher ça dans un composant TileList()

import fl.controls.TileList;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({label:"Image 1", source:"http://www.helpexamples.com/flash/images/image1.jpg"});
dp.addItem({label:"Image 2", source:"http://www.helpexamples.com/flash/images/image2.jpg"});
dp.addItem({label:"Image 3", source:"http://www.helpexamples.com/flash/images/image3.jpg"});
dp.addItem({label:"Image 4", source:"http://www.aubergeduvillageblanzay.eu/images/restaurant2.jpg"});
dp.addItem({label:"Image 5", source:"http://www.aiguesvives.fr/IMG/jpg/salle_restaurant_aigues_viv.jpg"});



var myTileList:TileList = new TileList();
myTileList.dataProvider = dp;
myTileList.columnWidth = 100;
myTileList.rowHeight = 100;
myTileList.columnCount = 2;
myTileList.rowCount = 2;
myTileList.move(10, 10);
addChild(myTileList);

function pagesuivante(evt:MouseEvent) {
link
}
myTileList.addEventListener(MouseEvent.MOUSE_DOWN,pagesuivante)

je cherche un moyen pour que lorsqu'on clique sur 1 item du TileList, ça fasse 1 action (donc ouvrir les infos détaillé d'un restaurant ici)

vous voyez ce que je veux dire ?

Link to comment
Share on other sites

arrete de poser des questions et de répondre après !!!

myTileList.addEventListener( Event.CHANGE, onChange );

function onChange(evt:Event) {

navigateToURL( new URLRequest( evt.target.selectedItem.source ), "_blank");

}

Link to comment
Share on other sites

Hi hi :transpi:

Eh ben moi, j'ai pas abandonné l'idée, et j'ai trouvé le moyen de faire passer une variable de PHP (fichier form.php) à Flash :craint:

On part du fait que je crée en PHP une variable qui contient le nom de mon pseudo. Je veux faire passer le contenu de cette variable (mon pseudo quoi) à Flash.

Code PHP :

$name = "pseudo";
$value = "Allegro";

echo $name . "=" . urlencode($value);

Code AS3 :

var Request:URLRequest = new URLRequest ("http://localhost/form.php");

var loader:URLLoader = new URLLoader (Request);
loader.addEventListener(Event.COMPLETE, onComplete);			

function onComplete (event:Event):void
{
var variables:URLVariables = new URLVariables(loader.data);
trace(variables.pseudo);
}

Il ne reste qu'à publier la scène sous Flash, et hop ...

Maintenant, il faudrait trouver le passage de variables dans l'autre sens, de Flash vers PHP :cartonrouge::craint:

Link to comment
Share on other sites

de flahs vers php ça marche niquel avec ce que tu fais j'ai déjà un truc qui marche !

j'avais un code qui ressemblai à ça mais j'arrivai pas à le faire marcher !

merci en tout cas ça peut être utile :cartonrouge:

sinon pour moi le xml c'est mieux quand même, ça use moins la bdd :transpi:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...