Le Blog

  • : Le blog de Romain Dedenis
  • : Un blog relatif à la programmation web, vous trouverez ici des tutoriels sur différents langages tel que le flash, le php... Ainsi que différentes astuces et articles. Bonne visite :)
  • Contact

Contacts

viadeo-icone-5757-48.png linkedin.png

Liens Utiles

 

Documentation Flash as 3.0 :

Flash as 3.0

 

Documentation moteurs 3D Flashs :


Documentation Utilitaires 3D Flashs :

Et bien sûr, le fil RSS du Blog ! rss

29 janvier 2011 6 29 /01 /janvier /2011 10:27

Tout d'abord, Alternativa3D quesaco?

Alternativa est un moteur graphique 3D développé pour Flash ActionScript, vous pouvez récupérer les sources à cette adresse : http://www.alternativaplatform.com/en/alternativa3d/.


I/ Installation d'Alternativa3D.

Une fois que vous aurez téléchargé la dernière version d'Alternativa3D à l'adresse que je vous est donnée ci-dessus, il ne vous restera plus qu'à l'extraire.

Ensuite, nous allons lier Flash à la bibliothèque Alternativa3D une bonne fois pour toute, nous permettant ainsi de pouvoir l'utiliser sans avoir à se soucier de son emplacement.
Pour se faire :

  • lancer Adobe Flash.
  • dans le menu Modifier aller dans Préférences, une fenêtre s'ouvre.
  • dans Catégories, selectionner ActionScript puis cliquer sur Paramètres d'ActionScript 3.0...inst_papervision1-copie-1.jpg
  • Enfin, dans chemin de la bibliothèque, cliquez sur le plus et ajouter le chemin vers le répertoire contenant Alternativa3D 7.6.0.swc. Généralement, placer le dans le répertoire d'installation de Flash, de manière à ne pas corrompre le chemin à la bibliothèque 3D en la déplaçant par inadvertance.

1


II/ Lier un fichier .fla et .as


Je vais un peu m'attarder pour ce premier tutoriel sur le linkage entre une classe et la scène pour que nous partions sur de bonnes bases dès le départ, ceci nous aideras à avoir la même architecture et évité ainsi d'éventuelles erreurs par la suite.

Dans un premier temps, créer un nouveau fichier "Fichier Flash (AS 3.0)" que vous nommerez alternativa.fla par exemple ainsi qu'un fichier "Fichier ActionScript" que vous nommerez Main.as dans le même dossier que le fichier .fla (attention à bien respescter les minuscules/majuscules car Flash est sensible à la case).

Maintenant, passons à la liaison de nos fichiers fla et as :inst_papervision3.jpg
Dans le champs Classe, entrez Main correspondant à notre classe que nous souhaitons associer à notre document Flash (.fla). Ensuite, un message d'avertissement apparaît, n'en tenez pas compte, valider avec Ok.

III/ Réalisation de notre squelette Alternativa3D.

Maintenant que nous partons sur les mêmes bases, nous pouvons passer à la réalisation de notre squelette Alternativa que nous réutiliserons dans chacuns des prochains tutoriels.

Donc, dans un premier temps, je vais vous donner le squelette en entier, que vous devrez copier dans le fichier Main.as, je passerais aux explications par la suite. Je vous conseille tout de même avant de les lire, d'essayer de comprendre le fonctionnement du squelette par vous même, puis de conforter vos déductions avec les explications.

Code source du squelette :
package {
   // voir explication 1:
    import flash.display.Sprite;
    import alternativa.engine3d.containers.ConflictContainer;
    import alternativa.engine3d.core.Camera3D;
    import alternativa.engine3d.core.View;
   
    public class Main extends Sprite{

        // voir explication 2:
        private var scene:ConflictContainer = new ConflictContainer();
        private var camera:Camera3D;
       
        public function Main(){

            // Création de la caméra
            camera = new Camera3D();

            // la view correspond au rendu de la caméra à l'écran
            camera.view = new View(550, 400);
            addChild(camera.view);

            // camera.diagram correspond à la petite boite contenant le nombre de FPS et autres information en haut à droite
            addChild(camera.diagram);

            // On définit la position initiale de la caméra
            camera.rotationX = -1.8;

            camera.rotationZ = -1.4

            camera.x = -300;
            camera.y = -50;
            camera.z = 100;

 

            // On ajoute la caméra à notre scène
            scene.addChild(camera);           
        }
    }
}

 

 

2
Explication 1:
Dans cette partie du code, nous nous concentrons sur l'importation des classes qui vont être utiles à l'exécution de notre programme. Ici, nous souhaitons utiliser de manière simple Papervision, il nous suffit donc d'importer les classes de bases qui contiennent les objets ConflictContainer, Camera3D et View.

Explication 2:
Ici, nous retrouvons les déclarations des variables qui vont être utiles à l'exécution du programme.

 


Voili voilou pour ce premier tutoriel, ne vous en faite pas, il n'affiche rien à l'écran et c'est normal puisque le code ci-dessus n'est qu'un squelette et ne contient donc aucun objet 3d!
J'espère avoir été le plus clair possible et n'hésitez pas à poser des questions.

Rendez-vous très prochainement pour le prochain tutoriel où cette fois-ci, nous créerons nos premiers objets en 3D.



Ce tutoriel vous a été utile? rss Abonnez-vous au fil RSS !



  Romain Dedenis.
Partager cet article
Repost0

commentaires

S
<br /> bonjour, je viens de lire et d'essayer votre tutoriel sur la version de flash pro CS6 et Alternativa 8 et j'ai rencontré quelques souci, des erreur de compilation avec le ConflictContainer et des<br /> parametre manquant à la camera.<br /> <br /> <br /> en modifiant le code j'obtiens ceci:<br /> <br /> <br /> package {<br /> <br /> <br />    // voir explication 1:<br /> <br /> <br />     import flash.display.Sprite;<br /> <br /> <br />     //import alternativa.engine3d.containers.ConflictContainer; // INTROUVABLE<br /> <br /> <br />     import alternativa.engine3d.core.Camera3D;<br /> <br /> <br />     import alternativa.engine3d.core.View;<br /> <br /> <br />     import alternativa.engine3d.*;<br /> <br /> <br />  <br /> <br /> <br />     public class Main2 extends Sprite{<br /> <br /> <br />  <br /> <br /> <br />         // voir explication 2:<br /> <br /> <br />       //  private var scene:ConflictContainer = new ConflictContainer();<br /> <br /> <br />         private var camera:Camera3D;<br /> <br /> <br />  <br /> <br /> <br />         public function Main2(){<br /> <br /> <br />  <br /> <br /> <br />             // Création de la caméra<br /> <br /> <br />             camera = new Camera3D(0.1,10000);<br /> <br /> <br />  <br /> <br /> <br />             // la view correspond au rendu de la caméra à l'écran<br /> <br /> <br />             camera.view = new View(stage.stageWidth, stage.stageHeight,false,0,0,4);<br /> <br /> <br />             addChild(camera.view);<br /> <br /> <br />             // camera.diagram correspond à la petite boite contenant le nombre de FPS et autres information en haut à droite<br /> <br /> <br />             //addChild(camera.diagram);<br /> <br /> <br /> // Masque le logo à l'ecran<br /> <br /> <br /> camera.view.hideLogo();<br /> <br /> <br />  <br /> <br /> <br />  <br /> <br /> <br />             // On définit la position initiale de la caméra<br /> <br /> <br />             camera.rotationX = -1.8;<br /> <br /> <br />  <br /> <br /> <br />             camera.rotationZ = -1.4<br /> <br /> <br />  <br /> <br /> <br />             camera.x = -300;<br /> <br /> <br />             camera.y = -50;<br /> <br /> <br />             camera.z = 100;<br /> <br /> <br />  <br /> <br /> <br />  <br /> <br /> <br />  <br /> <br /> <br />             // On ajoute la caméra à notre scène<br /> <br /> <br />             //scene.addChild(camera);           <br /> <br /> <br /> //addChild(camera);           <br /> <br /> <br />         }<br /> <br /> <br />     }<br /> <br /> <br /> }<br /> <br /> <br />  <br /> <br /> <br /> sinon, à la fin de ce tuto (explication 1), vous parlez d'utiliser de manière simple papervision, vous vouliez surement dire alternativa?<br /> <br /> <br /> bon courage pour la suite, et encore merci pour le partage des connaissances :D<br />
Répondre