Tutoriel pour apprendre à créer une interactivité sur une Plane. (Code source sous la vidéo)
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.*;
-
-
public class Main extends Sprite
-
{
-
-
private var viewport:Viewport3D;
-
private var scene:Scene3D;
-
private var camera:FreeCamera3D;
-
private var renderer:BasicRenderEngine;
-
private var plane:Plane;
-
private var material:BitmapFileMaterial;
-
-
public function Main(){
-
init();
-
}
-
-
private function init():void{
-
-
initPapervision();
-
initMaterials();
-
initObjects();
-
initListener();
-
}
-
-
private function initPapervision():void
-
{
-
-
viewport = new Viewport3D(640,480,false,true);
-
addChild( viewport );
-
-
scene = new Scene3D();
-
-
camera = new FreeCamera3D;
-
-
renderer = new BasicRenderEngine;
-
-
}
-
-
private function initMaterials():void{
-
material = new BitmapFileMaterial("logo.jpg");
-
material.doubleSided = true;
-
material.interactive = true;
-
}
-
-
private function initObjects():void{
-
camera.zoom = 8;
-
plane = new Plane( material, 127, 128, 8, 8 );
-
scene.addChild( plane );
-
}
-
-
private function initListener():void{
-
plane.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS,onPress);
-
addEventListener(Event.ENTER_FRAME, onEnterFrame);
-
}
-
-
private function onPress(e:InteractiveScene3DEvent):void{
-
plane.pitch( 20 );
-
}
-
-
private function onEnterFrame (e:Event):void{
-
renderer.renderScene ( scene, camera, viewport );
-
plane.rotationZ += 4;
-
}
-
-
}
-
}
Tutoriel réalisé grâce à l’aimable accord de John Lindquist, une partie du code source lui appartient !















j’ai téléchargé les classes papervision depuis mais il me manque certaines classes, comme render, view etc,
ou peut-on les récupérer stp.
Sinon tres bon tuto. Bravo