同样,同样的错误'ahorcado.js:26 Uncaught TypeError:无法读取'undefined'属性'beginPath'

时间:2016-05-19 12:46:15

标签: javascript

我试图制作一个刽子手游戏,但我是如此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();
}

感谢。

2 个答案:

答案 0 :(得分:2)

您的函数在var Ahorcado = function (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); } 变量。

将其更改为:

DECLARE @Id int
DECLARE @Name varchar(40)

WHILE (1=1)

BEGIN

SET @Name = NULL;
SET @id = NULL;

SELECT TOP 1 @Name=Name, @Id=CategoryID FROM Category c WHERE 
        ParentID = (SELECT TOP 1 CategoryID FROM Category WHERE Name = 'Root') 
         AND
        (SELECT COUNT(*) FROM Account WHERE CategoryID = c.CategoryID) > 0
        );

    IF (@ID IS NULL) BREAK;

    INSERT INTO Category(Name, ParentID) VALUES(@Name, @Id);
    UPDATE Account SET CategoryID = @@IDENTITY WHERE CategoryID = @Id ; 
END

答案 1 :(得分:2)

var contexto = canvas.getContext('2d');
hombre = new Ahorcado();

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