Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment récupérer une variable ?

Sujet résolu
Anonyme
    25 mars 2017 à 18:12:29

    Bonjour, je voudrais récupérer player.speed mais je ne sais pas comment faire ...

    Merci pour votre aide

    var player = (function (player) {
            // add properties directly to the player imported object
            player.width = 60; //60
            player.height = 96; //96
            player.speed = 6;
    
            // jumping
            player.gravity = 1;
            player.dy = 0;
            player.jumpDy = -10;
            player.isFalling = false;
            player.isJumping = false;
    
            // spritesheets
            player.sheet = new SpriteSheet('imgs/normal_walk.png', player.width, player.height);
            player.walkAnim = new Animation(player.sheet, 3, 0, 15);
            player.jumpAnim = new Animation(player.sheet, 3, 15, 15);
            player.fallAnim = new Animation(player.sheet, 3, 11, 11);
            player.anim = player.walkAnim;
    
            Vector.call(player, 0, 0, 0, player.dy);
    
            var jumpCounter = 0; // how long the jump button can be pressed down
    
            /**
             * Update the player's position and animation
             */
            player.update = function () {
    
                // jump if not currently jumping or falling
                if ((KEY_STATUS.up || KEY_STATUS.space || KEY_STATUS.clic) && player.dy === 0 && !player.isJumping) {
                    player.isJumping = true;
                    player.dy = player.jumpDy;
                    jumpCounter = 12;
                    assetLoader.sounds.jump.play();
                }
    
                // jump higher if the space bar is continually pressed
                if ((KEY_STATUS.up || KEY_STATUS.space || KEY_STATUS.clic) && jumpCounter) {
                    player.dy = player.jumpDy;
                }
    
                jumpCounter = Math.max(jumpCounter - 1, 0);
    
                this.advance();
    
                // add gravity
                if (player.isFalling || player.isJumping) {
                    player.dy += player.gravity;
                }
    
                // change animation if falling
                if (player.dy > 0) {
                    player.anim = player.fallAnim;
                }
                // change animation is jumping
                else if (player.dy < 0) {
                    player.anim = player.jumpAnim;
                } else {
                    player.anim = player.walkAnim;
                }
    
                player.anim.update();
                //commentaire KEY_STATUS[KEY_CODES[1000]] = false;
            };
    
            /**
             * Draw the player at it's current position
             */
            player.draw = function () {
                player.anim.draw(player.x, player.y);
            };
    
            /**
             * Reset the player's position
             */
            player.reset = function () {
                player.x = 64;
                player.y = 250;
                player.speed = 6;
            };
    
            return player;
        })(Object.create(Vector.prototype));



    • Partager sur Facebook
    • Partager sur Twitter
      27 mars 2017 à 9:40:42

      Bonjour,

      Tu as essayé player.speed tout simplement?

      • Partager sur Facebook
      • Partager sur Twitter
      Un petit +1 si je vous ai aidé est toujours appréciable :).
        27 mars 2017 à 15:06:19

        Bonjour,

        Dans ta variable (objet) player, tu viens de créer la propriété speed et ça valeur 6. Tu peut la tester en faisant console.log(player.speed); ça doit afficher 6.

        -
        Edité par Alby57600 27 mars 2017 à 15:08:05

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          27 mars 2017 à 15:16:51

          En faisant console.log, j'obtiens cette erreur :

          console.log(player.speed);

          VM85:1 Uncaught ReferenceError: player is not defined
              at <anonymous>:1:13
          Pour voir vous pouvez aller sur lacourseausavoir.pe.hu

          -
          Edité par Anonyme 27 mars 2017 à 15:19:16

          • Partager sur Facebook
          • Partager sur Twitter
            27 mars 2017 à 16:05:10

            Normale tu dois d’abord appeler ta fonction avant le console.log

            player();
            
            console.log(player.speed);

            Faut appeler d'abord la fonction Pour que elle puisse créer ses propriétés et valeurs.

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              27 mars 2017 à 16:39:29

              Toujours la même erreur ...
              • Partager sur Facebook
              • Partager sur Twitter
                27 mars 2017 à 16:59:11

                Avec:

                var mon_player = player();

                console.log(mon_player.speed);

                ?

                • Partager sur Facebook
                • Partager sur Twitter
                Un petit +1 si je vous ai aidé est toujours appréciable :).
                Anonyme
                  27 mars 2017 à 21:43:33

                  ça n'a rien changé ...

                  Je pense que je peux pas la récupérer ... :(

                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mars 2017 à 23:01:04

                    Je viens d'essayer ton code sans passer par une fonction anonyme et le 6 s'affiche bien dans le console.log.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      28 mars 2017 à 0:36:27

                      Tu as fait comment ? 

                      Pourquoi moi j'y arrive pas ? 

                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 mars 2017 à 11:01:45

                        ta déclarer ta function player en tant que anonyme en gros de que ta variable est lue ta fonction est exécuter automatiquement.

                        écrit la de cette façon : var player = function (){}; . a ce moment la elle ne sera lue seulement de son appel player();

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme

                        Comment récupérer une variable ?

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown