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...
- 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.
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 :
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);
}
}
}
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.