Un tutoriel un peut spécial aujourd’hui, afin de vous apprendre à utiliser les Tweeners pour réaliser des projets Papervision3D comme des menus ou des galeries en 3D
Ps : Je suis à la recherche de sponsors afin de m’aider à financer l’hébergement pour pouvoir proposer des vidéos de meilleurs qualités.
Les pré-requis :
-Télécharger la librairie Caurina, si vous avez besoin d’aide, référez vous au tutoriel pour installer Papervision3D. (http://tweener.googlecode.com/svn/trunk/as3/)
-Avoir fait et compris l’ensemble des précédents tutoriels.
Get the Flash Player to see this player.
-
package
-
{
-
-
import flash.display.Sprite;
-
import flash.events.Event;
-
import org.papervision3d.cameras.FreeCamera3D;
-
import org.papervision3d.render.BasicRenderEngine;
-
import org.papervision3d.scenes.Scene3D;
-
import org.papervision3d.view.Viewport3D;
-
import org.papervision3d.objects.primitives.*;
-
import org.papervision3d.materials.*;
-
import org.papervision3d.events.*;
-
-
import caurina.transitions.Tweener;
-
-
public class Main extends Sprite
-
{
-
-
private var viewport:Viewport3D;
-
private var scene:Scene3D;
-
private var camera:FreeCamera3D;
-
private var renderer:BasicRenderEngine;
-
-
private var material:BitmapFileMaterial;
-
private var materialHautGauche:BitmapFileMaterial;
-
private var materialBasRight:BitmapFileMaterial;
-
private var materialBasGauche:BitmapFileMaterial;
-
-
private var plane:Plane;
-
private var planeHautGauche:Plane;
-
private var planeBasRight:Plane;
-
private var planeHautRight:Plane;
-
-
public function Main()
-
{
-
init();
-
}
-
-
private function init():void
-
{
-
initPapervision();
-
initMaterials();
-
initObjects();
-
initListeners();
-
}
-
-
private function initPapervision():void
-
{
-
viewport = new Viewport3D( 700, 600, false, true );
-
addChild( viewport );
-
-
scene = new Scene3D();
-
-
camera = new FreeCamera3D();
-
-
renderer = new BasicRenderEngine();
-
-
}
-
-
private function initMaterials():void
-
{
-
material = new BitmapFileMaterial("index.JPG");
-
material.doubleSided = true;
-
material.interactive = true;
-
-
materialHautGauche = new BitmapFileMaterial("blog.JPG");
-
materialHautGauche.doubleSided = true;
-
materialHautGauche.interactive = true;
-
-
materialBasRight = new BitmapFileMaterial("flexstore.jpg");
-
materialBasRight.doubleSided = true;
-
materialBasRight.interactive = true;
-
-
materialBasGauche = new BitmapFileMaterial("forum.jpg");
-
materialBasGauche.doubleSided = true;
-
materialBasGauche.interactive = true;
-
-
}
-
-
private function initObjects():void
-
{
-
camera.zoom = 4;
-
camera.x = 330;
-
camera.y = 280;
-
-
plane = new Plane( material, 700, 600, 8, 8 );
-
planeHautGauche = new Plane( materialHautGauche, 700, 600 );
-
planeBasRight = new Plane( materialBasRight, 700, 600 );
-
planeHautRight = new Plane( materialBasGauche, 700, 600 );
-
-
scene.addChild( plane );
-
scene.addChild( planeHautGauche );
-
scene.addChild( planeBasRight );
-
scene.addChild( planeHautRight );
-
-
plane.y = 600;
-
planeBasRight.x = 700;
-
planeBasRight.y = 600;
-
planeHautRight.x = 700;
-
}
-
-
private function initListeners():void
-
{
-
plane.addEventListener( InteractiveScene3DEvent.OBJECT_PRESS, objectPress );
-
-
addEventListener( Event.ENTER_FRAME, onEnterFrame );
-
}
-
-
private function objectPress( e:InteractiveScene3DEvent ):void
-
{
-
Tweener.addTween(camera, {x:0, y:600, z:-330, rotationX:0, rotationY:0, rotationZ:0, time:5, transition:"easeinoutexpo"});
-
Tweener.addTween(planeBasRight, {z:-332, rotationX:-80, rotationY:0, rotationZ:0, time:2, transition:"easeinoutexpo"});
-
Tweener.addTween(planeHautRight, {z:-332, rotationY:-80, rotationY:0, rotationZ:0, time:2, transition:"easeinoutexpo"});
-
Tweener.addTween(planeHautGauche, {z:-332, rotationZ:-80, rotationY:0, rotationZ:0, time:2, transition:"easeinoutexpo"});
-
}
-
-
private function onEnterFrame( e:Event ):void
-
{
-
renderer.renderScene( scene, camera, viewport );
-
-
}
-
}
-
}
Et comme promis les différents type de transitions.















Mr Admin… vous êtes génial…