Flash/Flex/ActionScript, petite explication

Flash/Flex/ActionScript, petite explication - Flash/ActionScript - Programmation

Marsh Posté le 28-09-2009 à 23:37:29    

Bonjour,
 
Après quelques recherches sur le net, je n'ai pas trouvé de réponse claire sur le lien entre flash, flex et ActionScript.
D'après ce que j'ai compris, une application en flex permet l'intéraction avec l'utilisateur, et flex ne contient que des boutons, formulaires et choses de ce genre, c'est bien ça?
ActionScript lui travaille derrière Flash ou Flex, et il existe différente librairie qui permettent par exemple de faire de la 3D?
 
J'ai du mal à bien voir comment tout ça s'articule, si quelqu'un a une explication claire à ce sujet je suis preneur.
 
Je vais avoir à réaliser une petite application. L'idéale pour moi serait d'avoir un petit bonhomme qui se déplace dans une pièce, et qui puisse intéragir avec des objets de son environnement. Un truc très basique.
 
J'ai vu qu'il existe différente API, comme Sandy3D par exemple. Quelqu'un a déjà réalisé une appli 3D avec une de ces librairies? Et si oui, quelle est votre impression sur celle-ci? Est-elle adaptée?
 
Merci de vos conseils :)
 
 :hello:

Reply

Marsh Posté le 28-09-2009 à 23:37:29   

Reply

Marsh Posté le 29-09-2009 à 09:21:56    

Je me suis personnelement tournée vers Away3D... tu peux voir mon topic (ma signature), je compare les différents framworks 3D par rapport à mon besoin...

 

Flex est une solution de développement basée sur l'AS3 (+ MXML...)
Il permet de créer de la RIA sans passer par Flash qui lui privilégie + le coté graphisme / animation vectorielle...

 

Flex est comme tu l'aura compris orienté vers le developpement, tu ne pourras pas créer de graphisme autrement qu'avec des lignes de codes (c'est pas tout à fait ça mais je simplifie).
Donc, comme tu dis, il dispose de bibliothèques (de boutons, interfaces...) pour habiller tes productions, mais tu n'as même pas de zone de travail pour dessiner ou même de timeline...

 

A partir du moment ou l'interface de flash ne nous sert à rien, qu'on ne fait que de la dev (C'est le cas quand on jouit des frameworks 3D), autant se tourner vers Flex qui est GRATUIT est plus intuitif pour coder...
Par ailleurs, Flex n'est pas une API en soit comme je l'ai dis, il te faut un logiciel pour en profiter... Moi j'utilise FlashDevelop (Gratuit, Windows seulement), mais il y a aussi "Flex builder" de adobe qui est gratuit pour un usage non-professionnel si je ne dis pas de bêtise...

 

D'un point de vue technique, il faut de très bonnes connaissances de l'AS3 pour ce que tu veux...
N'oublie pas non plus qu'il faut du très LowPoly en 3D...
Si tu es découragé par les limite de Flash (et du CPU), tu peux patienter pour le WebGL qui permet de jouir de l'OpenGL/GPU... Après, on sort du sujet...


Message édité par abais le 29-09-2009 à 09:39:02

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-09-2009 à 00:13:18    

OK donc d'après ce que j'ai compris Flex permet de faire des RIA. Tu peux gérer une interface graphique uniquement avec du code. (Un peu comme Swing avec Java non?)
Ce que je n'arrive pas à bien me représenter, est le rôle d'AS3 avec Flex, ou plutôt comment ça s'articule ensemble?
 
Tu as une appli en Flex, ou plutôt une interface (je sais pas si Flex lui même permet de gérer l'interaction, ou si c'est AS3 qui le permet), et derrière tu as du AS3 relié par exemple à un bouton "submit", et en AS3 tu gère ce qui se passe quand tu clique sur ce bouton "submit"? Grossièrement c'est ça?
 
Une autre chose que je comprend pas, c'est que d'après ce que j'ai lu, tu peux développer une appli Flex en Flash et faire ça en ActionScript? Ou vice-versa?
 
Merci pour tes infos ;)

Reply

Marsh Posté le 30-09-2009 à 00:43:14    

Et pour reprendre sur le projet, dans le cadre des mes études, en multimédia on a pour projet "une visite interactive dans un musée" en utilisant les technologies utilisées (SMIL, Flex...).
 
Donc j'ai commencé quelques recherches et je suis tombé sur une petite démo 3D sur le net:
http://www.codegravity.com/programming/flex-3d-demo
 
Donc notre idée du coup ça serait de coder une espèce de petit musée, composé de plusieurs pièce, avec des objets auprès desquels un ptit perso pourrait s'approcher, et intéragir avec pour voir des infos, ou quelque chose du genre.

Reply

Marsh Posté le 30-09-2009 à 08:23:06    

Flex = AS3 + MXML + MetaData
 
Le MXML te permet de faire tes composants (jouir de ta bibliothèque d'objet).
 
Les MetaDatas te permettent  par exemple d'intégré une image ou une police au SWF, de changer la taille de l'animation, la couleur de fond... (sur Flash, tu le fais depuis l'interface...).
 
AS3 pour faire tous le reste (le plus gros).
 
Le "problème" qui fait que tous le monde s'embrouille, c'est que Flash interprète aussi les MetaDatas depuis la version CS4...
 
Mais Flex est donc un combiné de "langage", il ne faut pas confondre avec "Adobe Flex builder" qui est un des API permettant de développer en Flex...
 
Perso, je ne jouis pas pleinement de Flex, je m'en sert en temps qu'alternative gratuite à Adobe Flash, tout simplement ! Je ne me sert même pas du MXML...Le seul hic c'est qu'on a pas de canvas ni timeline (en même temps, ça ne sert à rien du tout quand on utilise des framworks 3D...
 
Sinon, tu pourra voir le terme "Flax" un jour, c'est un jeu de mot qui consiste à combiner Flex et Flash...
Flex pour faire le plus gros de ton anime / moteur, et Flash pour faire les éléments graphique dont tu aurais besoin... C'est surment le cas de ton lien, on a d'un coté le moteur 3D et les élements codés en AS3, et de l'autre, des graphisme créés sous Flash (eux même parfois contenant de l'AS !)...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-09-2009 à 08:53:19    

Un exemple concret (pour raccourcir mon topic WIP) : http://urfman.free.fr/fhw/ilotAbai [...] pping.html (tu peux orbiter autour de l'ilot via drag and drop)

 

1) J'ai modélisé/texturé une scène sous Blender...
(C'est du LowPoly, pas le choix, c'est super gourmand !)

 

2) A partir de Flash, j'ai animé la texture du tronc (j'ai rajouté une bouboule rose animé sur l'image d'origine)
=> http://urfman.free.fr/fhw/ilotAbais/test_tronc.html
J'ai aussi rajouté des surface invisible en guise de "zone active" sur les parties colorés, sur lesquelles se produit un DispatchEvent au MouseOver

 

3)Sous FlashDevelop (+ Flex SDK), j'importe (j'utilise le framework Away3D, ça aurait pu etre PaperVision3D ou Sandy3D...).
J'utilise donc AS3, les 2 seules métadonnées que j'utilise c'est pour la taille/backgroundColor, et l'autre pour intégré le movieClip du 2)...
Tout le reste, c'est mon "moteur" qui gère ma caméra, le deplacement, le chargement des textures...
J'écoute aussi les Event du movieClip qui fait office de texture de mon tronc. Ça actionne une fonction (ici, seulement l'affichage du nom de l'élément survolée).

 


Message édité par abais le 30-09-2009 à 08:57:45

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-09-2009 à 11:48:19    

OK merci c'est un peu plus clair maintenant.
 
J'vais aller voir ce qu'est le LowPoly (je pense que c'est faire des polygone très grossiers pour éviter d'en faire des tonnes de minuscules pour éviter que ça soit trop lourd?).
 
Pour mon projet je commence à regarder ce que je peux faire avec AS3 direct?
 
En gros l'idée ça serait déjà dans un premier temps:
 
- Créer les salles du musée en 3D
- Gérer le déplacement d'un mec dedans
 
Tu me conseils de regarder de quel côté? t'as des bons tutos dispos?
 
Merci pour ton aidre :)
 
Au fait, elle est passée ou ta maison ? :D

Reply

Marsh Posté le 30-09-2009 à 11:52:13    

Ca m'a l'air bien chaud lapin n'empêche, y aurait pas un truc simple que j'peux faire avant d'me lancer dans mon truc, histoire de me faire la main avec l'ensemble des technos?

Reply

Marsh Posté le 30-09-2009 à 12:15:07    

Apprends l'AS3 avec Flash (les tutos y sont lié souvent)
=> http://www.flashkod.com/tutoriaux/ [...] E_906.aspx
=> http://www.yazo.net/index.php?opti [...] 8&Itemid=2
...
Le must c'est que tu apprenne à te servir de la documentation AS3... c'est pas aussi évident que ça...
Habitue toi aussi à externaliser ton code dans un .as...
 
Une fois que tu pige bien le principe, tu peux commencer à voir du coté du framework3D... Je te conseil Away3D qui a des très bon tuto...
=> http://away3d.com/tutorials
 
Je ne sais pas quels études tu fais, mais ça peut etre plus ou moins long... tu connais des langages client déja ou pas ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-09-2009 à 13:40:51    

Je suis pas mal en Java. Du C aussi un peu.
Sinon en web j'ai mes bases en php, js, xml... mais j'suis pas au top.

Reply

Marsh Posté le 30-09-2009 à 13:40:51   

Reply

Marsh Posté le 30-09-2009 à 14:05:11    

Away3D c'est donc un moteur graphique pour flash?
Je suis perdu, j'pensais que c'était en rapport avec Flex.

Reply

Marsh Posté le 30-09-2009 à 14:55:01    

Non, Away3D n'est pas "un moteur pour flash", Away3D c'est un Framework, une collection de class prêt à l'emploi pour AS3 (Flash ou Flex...).
Away3D, PV3D, Sandy, (...) sont à AS3 ce que Mootools, JQuery, ScriptAculous sont à JavaScript... à Savoir un concentré de fonctions fabriqués à partir de celles de base...


Message édité par abais le 30-09-2009 à 15:00:45

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-09-2009 à 14:57:00    

OK je capte mieux.
 
J'vais faire les tutos avec flash dans un premier temps.
 
J'te tiens au courant.

Reply

Marsh Posté le 30-09-2009 à 15:06:27    

Oh bah je ne suis pas ton tuteur hein ^^


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-09-2009 à 15:20:22    

Oué mais en cas de pépin j'pourais toujours te poser une question non ? :D

Reply

Marsh Posté le 30-09-2009 à 15:46:42    

Je sais pas si j'y repondrais... [:jean-guitou]  
 [:djmb]


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 30-09-2009 à 23:44:18    

Tu me conseille quoi comme environnement de dév. au début pour m'exercer à l'AS3 et Flash? D'après toi pour débuter qu'est ce qui conviendrait le mieux?

Reply

Marsh Posté le 01-10-2009 à 12:34:49    

Je te conseille Flash, j'en suis peu fière mais la majorité des tutos sont dédié à l'environnement Flash...
Il faut bien distinguer le graphisme (les Movieclips / Instances) et le code...(AS3).
Par exemple, tu créera (via les outils de flash) un movieClip, et tu le manipulera soit via les outils du logiciel (TimeLine, interpolations...), ou alors via code...

 

Dans un environnement de pur dev AS3 (FlashDevelop + FlexSDK pour mon cas), tu sera obligé de tout faire en code (à moins d'importer mais c'est une autre histoire).

 

La philosophie d'animation en code n'est pas la même bien-sûre, il faudra surtout se servir des fonctions Tween et ses dérivés...

 

Je t'avouerai aussi que Flash est très limité dans sa fenêtre "action" (ou tu met le code AS3), dans le sens ou l'auto-complétion est nulle ou inexistante, alors que dans FlashDevelop, quand tu tape ta variable ou ton objet, ta direct une liste des méthodes/fonctions qui leur est propre, c'est très intuitif !

 

Donc Flash ou Autre...
Je dirais que ça dépendra de l'enjeu, si tu t'intéresse à la technologie Flash en général, où si tu souhaite juste finir un projet flash pour ne plus entendre parler de cette technologie...


Message édité par abais le 01-10-2009 à 12:38:38

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 10-10-2009 à 01:15:38    

Yop,
 
bon j'me suis finalement lancé en installant Flex Builder 3 et faisant quelques petits truc en AS3.
Ensuite j'ai suivi un petit tuto avec la lib Away3D. Mais là gros problème, j'ai regardé sur différents tuto, alors j'ai soit essayé d'importer la lib simplement en l'a mettant dans le rép du projet, soit en lui donnant le path.
 
Au final, quand je fais un import, genre si je veux import "Camera3D", il va m'aider a taper import away3d.cameras.Camera3D; grâce à l'auto-completion (donc il le trouve), mais au final j'ai une vielle erreur 1172: Definition away3d.cameras:Camera3D could not be found.
 
Donc si quelqu'un a déjà eu ce problème je suis preneur...


Message édité par Dukeb le 10-10-2009 à 01:15:50
Reply

Marsh Posté le 10-10-2009 à 10:21:47    

Deja il te faut une lib cohérente avec la version de Flash Player que tu souhaite...
Il doit y avoir des tutoriels pour mettre en place ce framework, je ne connais pas Flex Builder perso...
Après, il faut bien que tu importe toute les biblio qu'il faut (le viewport etc...), mais comme tu le dis, si l'auto-complétion t'assiste pour taper la ligne, c'est qu'il l'a trouve...
 
Je ne  peux pas t'aider là... post ton .as ici pour voir...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 10-10-2009 à 12:53:53    

Bah visiblement ça vient pas du code, il auto-complète tout mais il les trouve soit disant pas.
 
Rien que ça ça ne passe pas:
 

Code :
  1. package
  2. {
  3. import away3d.cameras.Camera3D;
  4. public class Away3dScene
  5. {
  6.  public function Away3dScene()
  7.  {
  8.  }
  9. }
  10. }


 
L'erreur est associée à la ligne de l'import:
 
1172: Definition away3d.cameras:Camera3D could not be found.


Message édité par Dukeb le 10-10-2009 à 12:57:10
Reply

Marsh Posté le 10-10-2009 à 13:02:12    

Et voilà l'arborescence de mon projet:
 
http://www.easy-upload.net/fichiers/arbo.2009101013128.jpg

Reply

Marsh Posté le 10-10-2009 à 15:36:50    

Je ne sais pas comment on doit intégrer une class externe sur Flex Builder, je ne connais pas ce soft...

 

Deja, mon arborescence n'est pas comme ça...
Je n'ai pas "away3d" qui contient toute les sous-classes directement...

 

Non, j'ai "away3d_2_3_3" (j'utilise cette version moi, ce n'est pas la dernière je crois)
Dedans, j'ai 4 rep : "awaybuilder", "gs", "nochump" et "away3d" (le même que toi)...


Message édité par abais le 10-10-2009 à 15:37:42

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 10-10-2009 à 16:59:34    

Ouais j'ai essayé 2 versions différentes, on en est à la 2.4.0 là.
 
Mais en soit ça doit pas changer grand chose.
 
J'arrive pas à trouver de solution. J'continue à chercher

Reply

Marsh Posté le 10-10-2009 à 21:15:12    

bah, tu as bien la version dédié à la version d'export de flash player ?
2.X.X => FP 9
3.X.X => FP10
 
Sinon tu fais comment pour importer les class ? tu copies le dossier "away3d" dans ton dossier de projet ? C'est ce qu'on dirait en tout cas...
 
Dans les propriété de ton projet, tu n'a pas "classpath" ou tu peux parcourir le dossier "away3d_2_4_0" (pour FP9)


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 10-10-2009 à 21:21:27    

Citation :

Away3D in Flex Builder
 
First, create a new Actionscript Project to hold your code (File -> New... -> Actionscript Project). In Flex you have the same two options as with Flash, either copy "away3d" and "nochump" folders into your project folder or link to a folder on your filesystem.  If you chose the SVN option or want to link to a folder on your system, follow these steps:
 
    * Right click the project you just created and select Properties.
    * Select "Actionscript Build Path", click "Add folder..." and browse to the location of the Away3D source code.
    * Click OK to close the dialogue and you're ready to go
 
To view any of the pre-made Tutorial files in Flex, copy the file you want to view (i.e. Renderers.as) as well as Cover.as (required) to your project folder. Right click "Renderers.as"  in the Flex Navigator, select "Set as Default Application" and run the file.


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 10-10-2009 à 21:42:46    

Je teste ça.
 
Là je viens de tout delete. J'ai recréé un projet Action Script, qui est donc prévu pour avoir le code source de mon appli.
 
Ensuite je vais dans Actionscript Build Path en faisant clique droit sur le projet ActionScript que je viens de creer. Et je lui indique le rep ou j'ai mon code source de la lib away3D.

Reply

Marsh Posté le 10-10-2009 à 22:58:14    

Non bah ça veut pas...
 
http://www.thetechlabs.com/tutoria [...] with-flex/
 
Là j'arrive à aller jusqu'à l'étape 7 sans erreur...
 
A la 8, je tape import away3D.camera.Camera3D; il m'auto-complète correctement et tout, et pis dès que j'enregistre le document, j'ai l'erreur qui apparait:
 
1172: Definition away3d.cameras:Camera3D could not be found.

Reply

Marsh Posté le 11-10-2009 à 00:32:36    

Ca y est enfin ça marche.
 
A vrai dire je sais pas vraiment comment j'ai fait, je pense avoir déjà essayé ces manips mais bon...:
 
J'ai finalement carrément glissé mon rep qui contient la lib dans le dossier source du projet Action Script sous FB3, j'ai alors eu encore une autre erreur, d'une classe qu'il ne trouvait pas.
 
Ensuite donc, clique droit sur le projet, propriétés, ActionScript Compiler.
 
Tout en bas dans le cadre HTML wrapper, j'ai modifié la version associée à "Requiere Flash Player version". Elle était à 9.X.X, j'ai remplacé par la dernière que j'ai d/l, 10.0.32.
 
La dernière erreur à alors disparu, et là miracle, je vois enfin apparaître mon exemple dans Firefox  :love:  :love:  :love:  
 
http://www.easy-upload.net/fichiers/cubes.2009101103222.jpg

Reply

Marsh Posté le 11-10-2009 à 10:53:47    

Et bien voila une bonne chose de faite...
Tu verras dans mon topic qu'en utilisant FP9 (et la version de away3d qui lui est dédié) j'avais de meilleurs perfs que FP10... Je comprend pas trop pourquoi mais depuis, j'utilise FP9... bref...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 11-10-2009 à 11:57:35    

Bah à mon avis j'vais surement y revenir alors parce que j'pense que ce que je veux faire ça va bouffer pas mal de proc.
 
Pour l'instant je vais uniquement chercher le moyen de faire une pièce en 3D dans laquelle je peux me déplacer, la chose la plus simple possible. Donc là j'me tape des tutos sur un peu tout et n'importe quoi jusqu'à ce que je capte comment faire ça.

Reply

Marsh Posté le 12-10-2009 à 22:56:17    

J'commence à me demander si Away3D est vraiment le top du top par rapport à ce que je veux faire.
 
A propos de la petite démo du perso qui se trimballe dans la pièce ronde dont j'avais filé le liens au début du post:
http://labs.getoutsmart.com/archiv [...] gine-demo/
En fait apparement c'est fait avec un moteur à eux.
 
J'ai entendu de faire de la 3D avec Flex en utilisant des composants 2D, mais je sais pas ce qu'il en est.
 
Pour Away3D, est ce que t'as réussi toi à faire tourner les démos qui a sur le site officiel?
 
Moi j'me suis battu pour faire tourner celle là, http://www.infiniteturtles.co.uk/p [...] lRoom.html qu'on trouve sur leur site dans la liste des démos ici http://away3d.com/category/demos  
Je l'a lance depuis Flex Builder 3, après avoir galérer pour les libs, les versions etc... finalement quand je le lance une fois que j'ai pu d'erreur, j'ai m'a page web avec un fond bleu, et rien dedans... super.
 
Pour la pièce sinon je vois pas encore comment m'y prendre mais jvais continuer les tutos, au début j'me disais que j'pouvais afficher des gros cubes les uns à cotés des autres et ça m'ferait un mur mais y doit y avoir plus simple :D
 
 
C'est chaud lapin :D


Message édité par Dukeb le 12-10-2009 à 22:58:11
Reply

Marsh Posté le 13-10-2009 à 07:20:00    

Leur moteur pour ta démo mélange en effet 3D et Sprite2D (pour le perso).
Away3D est un des moteur qui m'a séduit, rien ne t'empêche de tester les autres... Ils sont tous similaires dans leur mise en place / utilisation.
 
Jouir d'un framework 3D n'est pas si simple, je t'ai dis qu'il ne fallait avant tout pas sauté les étapes ...
 
Sinon, toutes les démos du site au quelle je me suis intéressé fonctionnent...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 15-10-2009 à 21:52:59    

Hello Guys!  
premier post sur cette section !!  
Architecte JEE depuis pas mal d'années , je suis depuis quelques mois sur une mission flex, je développe des jeux éducatifs pour les écoles néerlandaises en flex, je commence a  avoir pas mal  d'expérience sur le sujet alors que j'étais pas trop chaud sur cette techno au début  y'a pas de topik unik Flex ?


---------------
A religious war is like children fighting over who has the strongest imaginary friend.
Reply

Marsh Posté le 19-10-2009 à 16:01:18    

non.
Faut poster ici.
J'avais demandé à un modo, mais il comprenait pas de quoi je parlais. Apparemment c'est pas très connu :/


Message édité par Zedlefou le 19-10-2009 à 16:01:53

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 19-10-2009 à 17:00:31    

La catégorie s'appelle Flash/Flex/ActionScript...
On peut donc créer un topic traitant un cas particulier de flex (un problème, une question) dans cette catégorie, indépendamment d'un topic en particulier...

Grosse boulette, Oui, il faudrait rajouter "Flex" dans le nom de la sous-cat...
Par contre, c'est vrai qu'il faudrait un topic sticky qui explique un peu les différentes plateformes de travaille (les alternatives de flash en terme d'animation et/ou programmation), qu'est-ce que Flex par rapport à Flash, Qu'est-ce que AIR, les Frameworks les plus connus etc....

Message cité 1 fois
Message édité par abais le 19-10-2009 à 17:49:17

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 19-10-2009 à 17:16:39    

abais a écrit :

La catégorie s'appelle Flash/Flex/ActionScript....


Pas chez moi  [:zedlefou:1]


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 19-10-2009 à 17:48:08    

Ah ouai, t'as raison !


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 19-10-2009 à 18:01:46    

[:zedlefou:5]


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed