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

JavaScript Discussion :

<canvas> ne s'affiche pas


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2019
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2019
    Messages : 80
    Points : 63
    Points
    63
    Par défaut <canvas> ne s'affiche pas
    Bonjour,
    J'ai un code que je n'arrive pas à faire marcher . Le code html est :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!DOCTYPE html>
    <html>
      <head>
          <title>Jeu du serpent</title>
          <h1>hello</h1>
          <script src="script4.js"></script>
      </head>
     
      <body>
     
      </body>
     
    </html>

    et le javascript :

    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
    window.onload = function()
    {
        var cancasWidth = 900;
        var canvasHeigth = 600;
        var blockSize = 30;
        var ctx;
        var delay = 100;
        var snakee;
     
        init();
     
        function init()
        {
          var canvas = document.createElement('canvas');
          canvas.width = canvasWidth;
          canvas.height = canvasHeight;
          canvas.style.border = "1px solid";
          document.body.appendChild(canvas);
          ctx = canvas.getContext('2d');
          snakee = new Snake([[6,4],[5,4],[4,4]]);
          refreshCanvas();
        }
     
        function refreshCanvas()
        {
            ctx.clearRect(0,0,canvasWidth, canvasHeight);
            snakee.draw();
            setTimeout(refreshCanvas,delay);
        }
     
        function drawBlock(ctx, position)
        {
            var x = position[0] * blockSize;
            var y = position[1] * blockSize;
            ctx.fillRect(x ,y , blockSize, blockSize);
        }
     
          function Snake(body)
        {
            this.body = body;
            this.draw = function()
            {
              ctx.save();
              ctx.fillStyle = "#ff0000";
              for (var i = 0; i < this.body.length; i++)
              {
                  drawBlock(ctx, this.body[i]);
              }
              ctx.restore();
            };
     
        }
     
    }
    Est-ce que ça marche pour vous? Je viens de vérifier toutes les lignes 3 fois et je n'arrive pas à déboguer la situation. Je n'ai qu'une page avec hello qui s'affiche et nommé jeu du serpent. Normalement selon la démo, je devrais avoir un cadre noir et un serpent sous la forme de trois carrés rouge les uns à côtés des autres.
    Merci d'avance de vos réponses.
    Diego

  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    C'est dû à une erreur de nom de variable :
    tu as écris :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var cancasWidth = 900;
    var canvasHeigth = 600;

    Puis :

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    canvas.width = canvasWidth;
    canvas.height = canvasHeight;

  3. #3
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 714
    Points : 1 598
    Points
    1 598
    Par défaut
    c'est fou la grande fréquence de confusion de l'erreur entre length height comme quoi il faut pas grand chose pour tout faire bugger.
    Plus vite encore plus vite toujours plus vite.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2019
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2019
    Messages : 80
    Points : 63
    Points
    63
    Par défaut Merci
    Merci, c'est réglé

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

Discussions similaires

  1. image dans canvas ne s'affiche pas
    Par erca57 dans le forum Tkinter
    Réponses: 7
    Dernier message: 04/03/2014, 07h21
  2. [SWT] Canvas n'affiche pas toute l'image
    Par wwave dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 17/06/2010, 13h01
  3. Le résultat de Print ne s'affiche pas...
    Par Red Bull dans le forum Langage
    Réponses: 9
    Dernier message: 15/06/2006, 18h56
  4. [JScrollPane][Canvas] L'image ne s'affiche pas
    Par TheReturnOfMuton dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 05/06/2006, 13h17
  5. [MFC] Ces fenêtres qui ne s'affichent pas..
    Par Davide dans le forum MFC
    Réponses: 3
    Dernier message: 19/11/2003, 11h30

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