Моя консоль браузера Chrome выдает ошибку, определенную выше, когда запускает мой код.
Это только часть моего кода, и я следую структуре примера KeyBoard Navigation-Control, размещенного на w3.schools.com: (https://www.w3schools.com/graphics/tryit.asp?filename=trygame_controllers_keys).
Ранее у меня была функция mainCanvas в качестве функции, а для свойства canvas было определение "=" вместо ":". Сначала это работало нормально, но затем расхождение с руководством стало меня смущать. Как только я переключил свою функцию на объект - согласно учебнику - у меня появилась эта проблема. Я новичок в Javascript, и поэтому я очень ценю вашу помощь!
function parent(){
mainCanvas.load();
}
var mainCanvas = {
canvas : document.getElementById("myCanvas"),
load: function(){
//ctx1.beginPath();
ctx1 = canvas.getContext("2d");
ctx1.canvas.width = (window.innerWidth)/2;
ctx1.canvas.height = window.innerHeight;
ctx1.fillStyle = "black";
ctx1.fillRect(0, 0, ctx1.canvas.width, ctx1.canvas.width);
//ctx1.fillStyle = "blue";
//if (diffColor == true)
//ctx1.fillStyle = "yellow";
//ctx1.fillRect(30, 30, 100, 150);
document.body.insertBefore(canvas, document.body.childNodes[0]);
interval = setInterval(moveTracker, 20);
window.addEventListener ("keydown", function(e){
console.log(e.keyCode);
mainCanvas.key = e.keyCode; //execute movement when key pressed
if (e.keyCode == 38)
diffColor = true;
else
diffColor = false;
});
window.addEventListener ("keyup", function(e){
mainCanvas.key = false; //stop movement once key is released
})
},
clear: function(){
ctx1.clearRect(0,0, canvas.width, canvas.height);
}
//ctx1.fill();
}