1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
package {
import flash.events.Event;
import flash.display.MovieClip;
import org.papervision3d.cameras.CameraType;
import org.papervision3d.materials.BitmapFileMaterial;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.view.BasicView;
[SWF( width='800', height='512', backgroundColor='0x000000', frameRate='30' )]
public class VisionneuseCube_copie extends BasicView
{
// private static const IMG_BASE_URL:String = "assets/rendu_cubique_";
private static var MAX_X_ROTATION:int = 25;
private static var MAX_Y_ROTATION:int = 50;
private var cube:Cube;
public function VisionneuseCube()
{
//super( 800, 512, true, false, CameraType.FREE );
startRendering();
/*
var frontMat:BitmapMaterial = new BitmapFileMaterial( IMG_BASE_URL+"FR.jpg" );
var backMat:BitmapFileMaterial = new BitmapFileMaterial( IMG_BASE_URL+"BK.jpg" );
var leftMat:BitmapFileMaterial = new BitmapFileMaterial( IMG_BASE_URL+"LF.jpg" );
var rightMat:BitmapFileMaterial = new BitmapFileMaterial( IMG_BASE_URL+"RT.jpg" );
var upMat:BitmapFileMaterial = new BitmapFileMaterial( IMG_BASE_URL+"UP.jpg" );
var downMat:BitmapFileMaterial = new BitmapFileMaterial( IMG_BASE_URL+"DN.jpg" );
*/
var cube:Cube;
var FrontMat:FacePrincipal = new FacePrincipal();
var BackMat:FaceArriere = new FaceArriere();
var LeftMat:FaceGauche = new FaceGauche();
var RightMat:FaceDroite = new FaceDroit();
var UpMat:FaceHaut = new FaceHaut();
var DownMat:FaceBas = new FaceBas();
FrontMat.doubleSided = true;
BackMat.doubleSided = true;
LeftMat.doubleSided = true;
RightMat.doubleSided = true;
UpMat.doubleSided = true;
DownMat.doubleSided = true;
var face1:MovieMaterial = new MovieMaterial(FrontMat);
var face2:MovieMaterial = new MovieMaterial(BackMat);
var face3:MovieMaterial = new MovieMaterial(LeftMat);
var face4:MovieMaterial = new MovieMaterial(RightMat);
var face5:MovieMaterial = new MovieMaterial(UpMat);
var face6:MovieMaterial = new MovieMaterial(DownMat);
var imgMaterialList:MaterialsList = new MaterialsList(
{
/*front: frontMat,
back: backMat,
left: leftMat,
right: rightMat,
top: upMat,
bottom: downMat*/
front:face1,
back:face2,
left:face3,
right:face4,
top:face5,
bottom:face6
});
cube = new Cube( imgMaterialList, 1000, 1000, 1000, 16, 16, 16 );
scene.addChild( cube );
camera.z = 0;
}
override protected function onRenderTick(event:Event=null):void
{
camera.rotationY += ( mouseX - ( stage.width/2 ) ) / MAX_X_ROTATION;
camera.rotationX += ( mouseY - ( stage.height/2 ) ) / MAX_X_ROTATION;
//on limite la rotation verticale
if( camera.rotationX> MAX_X_ROTATION )
{
camera.rotationX = MAX_X_ROTATION;
}
if( camera.rotationX <- MAX_X_ROTATION )
{
camera.rotationX = - MAX_X_ROTATION;
}
if( camera.rotationY> MAX_Y_ROTATION )
{
camera.rotationY = MAX_Y_ROTATION;
}
if( camera.rotationY < - MAX_Y_ROTATION )
{
camera.rotationY = - MAX_Y_ROTATION;
}
super.onRenderTick( event );
}
}
} |
Partager