Snake Game: Uncaught ReferenceError: init не определен - PullRequest
0 голосов
/ 30 сентября 2018

Я создаю игру со змеями и пытаюсь найти ответы на некоторые вопросы, почему я получаю ошибку: Uncaught ReferenceError: init не определен.Мой havml-код был добавлен в html, но когда я пытаюсь выполнить отладку через Google Chrome, он говорит, что мой скрипт не запущен, поэтому мои функции не работают.

<html>
<head>
    <meta charset="utf-8" />
    <title>319 Snake</title>

    <link href='http://fonts.googleapis.com/css?family=Rancho&effect=3d-float' rel='stylesheet' type='text/css'>
    <style>

        h1 {
            font-family: 'Rancho';
            font-size: 300%;
            text-align: center;
        }
        canvas{
            border: 1px;
            background:#ffffff;
            -webkit-box-shadow:0 0 20px #000;
            -moz-box-shadow: 0 0 20px #000;
            box-shadow:0 0 20px #000;"
        }
        body{
            background:#cdcdcd;
        }
    </style>
        <h1 class="font-effect-3d-float">Snake 319</h1>
        <canvas id="mycanvas" width="350" height="350" style="border:1px solid #000000></canvas>
    <script src="./snake.js"></script>
    </head>
    <body onload = "init();">
    </body>
</html>

Вот часть моего кода Java Script:

function init() {

canvas = document.getElementById('mycanvas');
ctx = canvas.getContext('2d');

loadImages();
createSnake();
locateApple();
setTimeout("gameCycle()", DELAY);
}    

У кого-нибудь есть какие-либо советы о том, почему мой тег не работает / где я должен поместить его в свой HTML-код.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Элемент не предназначен для получения тега h1 или canvas.Это не отображаемая область.Вы должны поместить код, который должен отображаться в части body.

Тогда вам не хватает кавычки в элементе canvas.Смотрите новый код:

function init() {
  canvas = document.getElementById('mycanvas');
  ctx = canvas.getContext('2d');

  loadImages();
  createSnake();
  locateApple();
  setTimeout("gameCycle()", DELAY);
}
<html>
  <head>
    <meta charset="utf-8" />
    <title>319 Snake</title>

    <link href='http://fonts.googleapis.com/css?family=Rancho&effect=3d-float' rel='stylesheet' type='text/css'>
    <style>
      h1 {
        font-family: 'Rancho';
        font-size: 300%;
        text-align: center;
      }

      canvas {
        border: 1px;
        background: #ffffff;
        -webkit-box-shadow: 0 0 20px #000;
        -moz-box-shadow: 0 0 20px #000;
        box-shadow: 0 0 20px #000;
        "

      }

      body {
        background: #cdcdcd;
      }
    </style>
  </head>

  <body onload="init();">
    <h1 class="font-effect-3d-float">Snake 319</h1>
    <canvas id="mycanvas" width="350" height="350" style="border:1px solid #000000"></canvas>

    <script src="./snake.js "></script>
  </body>
</html>
0 голосов
/ 30 сентября 2018

У вас отсутствует цитата, и поэтому он не читает ваш файл.Это следующая строка.

<canvas id="mycanvas" width="350" height="350" style="border:1px solid #000000>    </canvas>

В вашем теге стиля вы пропускаете закрывающий "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...