IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Intégration "Objet" dans un Cube 3D


Sujet :

ActionScript 3

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne 37 : 1046: Ce type est introuvable ou n'est pas une constante de compilation : FacePrincipal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne 37 : 1180: Appel à une méthode qui ne semble pas définie, FacePrincipal.
    Ainsi que sur : MovieMaterial ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ligne 51 : 1046: Ce type est introuvable ou n'est pas une constante de compilation : MovieMaterial.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     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 ,)

  2. #2
    Membre très actif

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Par défaut
    bonjour,
    a première vue deux erreurs possibles :
    1 FacePrincipal n'existe pas dans votre swf, car il n'as pas été inclue
    2 FacePrincipal n'est pas le nom exacte de votre classe est n'est pas trouvé.

    solution
    1 vérifié que le FacePrincipal est bien marqué pour être lié a la compilation
    2 vérifié l'orthographe du nom
    3 vous pouvez forcer l'inclusion en plaçant une occurrence de l'objet directement sur votre stage dans l'ide.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo