在国王跳棋上绘制皇冠形象?

时间:2016-05-18 03:04:33

标签: javascript html canvas

我正在建立一个网站,用户可以在线和本地玩跳棋。

我目前正试图在加冕的跳棋上画出冠冕。这是我的检查课,如果检查员是国王,我试图绘制冠冕:

function Checker(x,y,color) {
    this.x = x;
    this.y = y;
    this.color = color;
    this.king = false;

    this.draw = function() {
        ctx.fillStyle = this.color;
        ctx.beginPath();
        ctx.ellipse(this.x+32,this.y+32,28,28,45 * Math.PI/180,0,2 * Math.PI);
        ctx.fill();
        if(this.king) {
            crown.onload = function() {ctx.drawImage(crown,this.x,this.y)};
        }
    }
}

这是我的整个代码:(我做了一个JSFiddle :)) https://jsfiddle.net/yv0v1auz/

出于某种原因,冠部不会在检查器上方绘制?

这是为什么?有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

为了解决我的问题,我改变了第365行:

crown.onload = function() {ctx.drawImage(crown,this.x,this.y)};

到此:

ctx.drawImage(crown,this.x,this.y);

然后我将第131行移到第84行。这似乎解决了我的问题

问题似乎是我把图片放在错误的目录中(哎呀) 然后,检查者的王状态只会在点击时更新。这就是除非选择了图像,否则图像不会出现的原因。这就是为什么我将第131行移到第84行。