Я сейчас следую учебному пособию, в котором вы работаете с canvas, и парень по обучению рисует на холсте каждый раз, когда я хочу сохранить каждый учебник на одной странице, следовательно, получаю холст с кодом изодин эпизод, под ним другой холст с кодом для 2-го урока.Вот оно:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<script src="main.js"></script>
</head>
<body>
<div>
<canvas id="canvas"></canvas>
</div>
<div>
<canvas id="canvas2"></canvas>
</div>
</body>
</html>
window.onload = function () {
/** @type {CanvasRenderingContext2D} */
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var width = canvas.width = window.innerWidth / 2;
var height = canvas.height = window.innerHeight / 2;
context.fillRect(0, 0, width, height);
for (var index = 0; index < 100; index++) {
context.beginPath();
context.moveTo(Math.random() * width, Math.random() * height);
context.lineTo(Math.random() * width, Math.random() * height);
context.strokeStyle = "#FFFF00";
context.stroke();
}
var canvas2 = document.getElementById("canvas2");
var context2 = canvas2.getContext("2d");
var width2 = canvas2.width = window.innerWidth / 2;
var height2 = canvas2.height = window.innerHeight / 2;
context2.translate(window.innerWidth, window.innerHeight)
context2.fillRect(0, 0, width, height);
for (var angle = 0; angle < Math.PI * 2; angle += .01) {
console.log(Math.sin(angle));
var x = angle * 200;
var y = Math.sin(angle) * 200;
context2.fillStyle = "green"
context2.fillRect(x, y, 5, 5)
}
}
На первом холсте я рисую случайные линии, на втором холсте должна отображаться синусоида (сделанная маленькими прямоугольниками), но она не отображается, пока у меня нет ошибоки значения верны, когда я их консоль регистрирую.Я не могу найти ответ в MDN, а не в W3