Нарисуйте доску на холсте с помощью объектов Javascript

Persist предназначен для новых объектов переходного процесса, и он терпит неудачу, если идентификатор уже назначен. Вероятно, вы должны называть saveOrUpdate вместо persist.

В качестве альтернативы вы можете проверить, содержится ли объект в вашем диспетчере сущностей, и если это так

entityManager.merge(yourObject);

, else

entityManager.persist(yourObject);
0
задан Grégory Huyghe 17 January 2019 в 08:46
поделиться

1 ответ

Вам нужно использовать Board.prototype.drawBoard = function() {..... Затем, когда вы вызываете drawBoard(), вы называете это так: board.drawBoard(), потому что это метод объекта board.

function Board(width, height) {
  this.width = width;
  this.height = height;
  this.chartBoard = [];

  for (var i = 0; i < this.width; i++) {
    const row = [];
    this.chartBoard.push(row);
    for (var j = 0; j < this.height; j++) {
      const col = {};
      row.push(col);
    }
  }
}

Board.prototype.drawBoard = function() {
  for (var i = 0; i < this.width; i++) {
    for (var j = 0; j < this.height; j++) {
      ctx.beginPath();
      ctx.strokeStyle = "black";
      ctx.strokeRect(j * 80, i * 80, 80, 80);
      ctx.closePath();
    }
  }
};

let board = new Board(10, 10);

const canvas = document.getElementById("board");
const ctx = canvas.getContext("2d");

board.drawBoard();
* {
  padding: 0;
  border: 0;
}

body{
  background-color: #181818;
}

#board {
  display: block;
  background-color: white;
  margin: 0 auto;
  margin-top: 100px;
}
<canvas id="board" width="800" height="800"></canvas>

0
ответ дан enxaneta 17 January 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: