Intégration "Objet" dans un Cube 3D
Bonsoir,
Je vais dire que jdébute en AS3 avec des connaissance de dev en POO et j'aurais besoin d'une petite aide.
En gros voilà ce que j'ai fais :
Code:
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 );
}
}
} |
J'ai créé mes différents MovieClip dans mon fichier .fla // FrontMat , BackMat etc... //
Problème lors de la compilation pour FacePrincipal() FaceArriere() Etc...
Code:
ligne 37 : 1046: Ce type est introuvable ou n'est pas une constante de compilation : FacePrincipal.
Code:
ligne 37 : 1180: Appel à une méthode qui ne semble pas définie, FacePrincipal.
Ainsi que sur : MovieMaterial ..
Code:
ligne 51 : 1046: Ce type est introuvable ou n'est pas une constante de compilation : MovieMaterial.
Code:
ligne 51 : 1180: Appel à une méthode qui ne semble pas définie, MovieMaterial.
Je ne vois pas trop pourquoi il ne les prends pas compte sur ce coup là .. =/
A part si j'ai fais n'importe quoi =/ , pourtant j'ai pas eu de problème au niveau de ta source pour la comprendre... -_-'
Si on pourrait m'éclairer ... =X
Merci ,)