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

API graphiques Discussion :

JS webgl three.js - Sprite - Error: Uncaught TypeError: Cannot read property 'x' of undefined


Sujet :

API graphiques

  1. #1
    Membre régulier

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 120
    Points : 120
    Points
    120
    Billets dans le blog
    1
    Par défaut JS webgl three.js - Sprite - Error: Uncaught TypeError: Cannot read property 'x' of undefined
    http://www.planetarium2016.com/sprite.html

    Bonjour,

    J'essai d'exécuter le code trouvé sur :
    https://threejs.org/docs/index.html#...eating_a_scene
    et
    https://threejs.org/docs/index.html#...Objects/Sprite

    Mais j'obtiens l'erreur suivante dont je ne comprends pas l'origine:

    Uncaught TypeError: Cannot read property 'x' of undefined
    at SpritePlugin.render (three.js:6973)
    at WebGLRenderer.render (three.js:21007)
    at render (sprite.html:43)

    Le fichier html se trouve ici :
    http://www.planetarium2016.com/sprite.html

    Je le reproduis ci-dessous :

    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
    <!DOCTYPE html>
    <html>
    <head>
        <title>My first three.js app</title>
        <style>
            body {
                margin: 0;
            }
     
            canvas {
                width: 100%;
                height: 100%;
            }
        </style>
    </head>
    <body>
        <script src="https://rawgithub.com/mrdoob/three.js/master/build/three.js"></script>
        <script>
    			var scene = new THREE.Scene();
    			var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );
     
    			var renderer = new THREE.WebGLRenderer();
    			renderer.setSize( window.innerWidth, window.innerHeight );
    			document.body.appendChild( renderer.domElement );
     
    			var geometry = new THREE.BoxGeometry( 1, 1, 1 );
    			var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
    			var cube = new THREE.Mesh( geometry, material );
    			scene.add( cube );
     
    			camera.position.z = 5;
     
    			var render = function () {
    				requestAnimationFrame( render );
     
    				cube.rotation.x += 0.1;
    				cube.rotation.y += 0.1;
     
    				renderer.render(scene, camera);
    			};
     
    			render();
        </script>
    </body>
    </html>
    jdd deschamps
    RPL - VB6 - C# - Wordpress - Python3 - Xamarin

  2. #2
    Membre régulier

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 120
    Points : 120
    Points
    120
    Billets dans le blog
    1
    Par défaut mauvais choix de boilerplate
    En fait, le code trouvé ici :
    https://threejs.org/docs/index.html#...eating_a_scene

    propose des fonctionnalités d'animation qui ne fonctionnent pas avec mon sprite (je ne sais pas pourquoi).

    J'ai donc commenté les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //var render = function () {
    //    requestAnimationFrame( render );
        renderer.render(scene, camera);
    //};
    //render();
    Il n'y a plus d'erreur.

    Je peux également afficher les lignes trouvées ici:
    https://threejs.org/docs/index.html#.../Drawing_Lines

    En revanche, mon sprite n'apparaît pas...
    jdd deschamps
    RPL - VB6 - C# - Wordpress - Python3 - Xamarin

  3. #3
    Membre régulier

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 120
    Points : 120
    Points
    120
    Billets dans le blog
    1
    Par défaut solution finale
    d'une part il faut convertir l'image en binaire, d'autre part il faut s'assurer que l'image a fini d'être chargée avant de poursuivre :
    La solution ici :
    http://stackoverflow.com/questions/4...27669#43027669
    jdd deschamps
    RPL - VB6 - C# - Wordpress - Python3 - Xamarin

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 883
    Points : 219 328
    Points
    219 328
    Billets dans le blog
    123
    Par défaut
    Que la texture soit finie de charger, oui, mais qu'elle soit en binaire, j'ai un doute -> https://jeux.developpez.com/tutoriel...GL/5-textures/
    Cf cette demo : https://jeux.developpez.com/tutoriel...ers/demo5.html
    Mais ok, c'est pas ThreeJS.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/06/2016, 20h45
  2. Erreur : TypeError: Cannot read property 'test' of undefined
    Par deathness dans le forum AngularJS
    Réponses: 1
    Dernier message: 11/05/2016, 10h42
  3. Réponses: 3
    Dernier message: 30/05/2015, 12h08
  4. [V8] Importation csv Error Cannot read property '1' of undefined
    Par vernetk dans le forum Odoo (ex-OpenERP)
    Réponses: 1
    Dernier message: 11/02/2015, 16h36
  5. sous Chrome TypeError: Cannot read property 'style' of null 7
    Par cfabc dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/08/2010, 12h14

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