Почему перестал работать онлайн?
Делаю онлайн игру, в которой до определенного момента нормально работал онлайн(то есть, заходя со второй вкладки, появлялся второй пользователь и т.д). Но теперь - нет. Этот определенный момент - изменение кода отрисовки игрока(понял я это, вернув старый код). Вот и вопрос - что в новом коду мешает отрисовывать двух игроков? Новый код
function draw()
{
context.beginPath();
context.arc(player.positionX, player.positionY, player.radius, 0, Math.PI * 2);
context.fillStyle = 'blue';
context.fill();
context.closePath();
// Рисование лицевой части круга с учетом угла
context.save();
context.translate(player.positionX, player.positionY);
context.rotate(player.angle);
context.fillStyle = "red";
context.beginPath();
context.arc(0, 0, player.radius, -Math.PI / 2, Math.PI / 2);
context.fill();
context.closePath();
context.restore();
}
function update()
{
context.clearRect(0, 0, canvas.width, canvas.height);
draw();
}
requestAnimationFrame(update);
Старый
// context.beginPath();
// context.arc(player.positionX, player.positionY, player.radius, 0, 2*Math.PI);
// context.fillStyle = "red";
// context.fill();
// context.closePath();
Ответы (1 шт):
Автор решения: kaliboba
→ Ссылка
Поменял код отрисовки:
function drawPlayer(player) {
context.beginPath();
context.arc(player.positionX, player.positionY, player.radius, 0, Math.PI * 2);
context.fillStyle = 'blue';
context.fill();
context.closePath();
// Рисование лицевой части круга с учетом угла
context.save();
context.translate(player.positionX, player.positionY);
context.rotate(player.angle);
context.fillStyle = "red";
context.beginPath();
context.arc(0, 0, player.radius, -Math.PI / 2, Math.PI / 2);
context.fill();
context.closePath();
context.restore();
}
function draw() {
for (let id in players) {
drawPlayer(players[id]);
}
}