我正在建立一个网站,用户可以在线和本地玩跳棋。
我目前正试图在加冕的跳棋上画出冠冕。这是我的检查课,如果检查员是国王,我试图绘制冠冕:
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/
出于某种原因,冠部不会在检查器上方绘制?
这是为什么?有人可以对此有所了解吗?
答案 0 :(得分:0)
为了解决我的问题,我改变了第365行:
crown.onload = function() {ctx.drawImage(crown,this.x,this.y)};
到此:
ctx.drawImage(crown,this.x,this.y);
然后我将第131行移到第84行。这似乎解决了我的问题
问题似乎是我把图片放在错误的目录中(哎呀) 然后,检查者的王状态只会在点击时更新。这就是除非选择了图像,否则图像不会出现的原因。这就是为什么我将第131行移到第84行。