同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'

Again, the same error ' ahorcado.js:26 Uncaught TypeError: Cannot read property 'beginPath' of undefined'

本文关键字:错误 类型 属性 读取 beginPath js ahorcado 同样      更新时间:2023-09-26

我正试图制作一个Hangman游戏,但我太n00b了,我不知道我的代码错误在哪里,如果你能帮助我,我很高兴,(对不起我的英语不好。)

var hombre;
var Ahorcado = function (con) {
    this.contexto = con;
    this.maximo = 5;
    this.intentos = 0;
    this.dibujar();
}
Ahorcado.prototype.dibujar = function () {
    var dibujo = this.contexto;
    dibujo.beginPath();
    dibujo.moveTo(150,100);
    dibujo.lineTo(150,50);
    dibujo.lineTo(400,50);
    dibujo.lineTo(400,350);
    dibujo.strokeStyle = '#000'
    dibujo.stroke();
    dibujo.closePath();
}

function iniciar() {
    var canvas = document.getElementById('c');
    canvas.width = 500;
    canvas.height = 400;
    var contexto = canvas.getContext('2d');
    hombre = new Ahorcado();
}

谢谢。

您的函数在var Ahorcado = function (con) {...} 中采用参数con

当您调用hombre = new Ahorcado()时,您忘记了传入contexto变量。

更改为:

function iniciar() {
    var canvas = document.getElementById('c');
    canvas.width = 500;
    canvas.height = 400;
    var contexto = canvas.getContext('2d');
    hombre = new Ahorcado(contexto); 
}
var contexto = canvas.getContext('2d');
hombre = new Ahorcado();

您忘记将上下文传递给构造函数

相关文章: