我一直在嘗試在遊戲中創建菜單的副本,但有一件事缺失。當你懸停不同的畫布時,我希望他們改變不透明度,但由於它不是div或圖像,所以它非常複雜。而且由於我仍然在努力學習這一切,所以我想知道如何讓這成爲可能。更改畫布上的不透明度與懸停切換
這裏是我的小提琴:http://jsfiddle.net/wkx8dzn0/2/
我的javascript:
var can=document.getElementById("NewCanvas");
var ctx=can.getContext("2d");
var img = new Image();
img.onload = function() {
ctx.save();
ctx.moveTo(305,306);
ctx.lineTo(48,152);
ctx.lineTo(42,9);
ctx.lineTo(305,10);
ctx.closePath();
ctx.clip();
ctx.drawImage(img,0,0);
ctx.restore();
ctx.save();
ctx.moveTo(305,306);
ctx.lineTo(560,152);
ctx.lineTo(540,10);
ctx.lineTo(305,9);
ctx.closePath();
ctx.clip();
ctx.drawImage(img,0,0);
ctx.restore();
ctx.save();
ctx.moveTo(305,306);
ctx.lineTo(561,150);
ctx.lineTo(613,206);
ctx.lineTo(613,375);
ctx.lineTo(606,480);
ctx.lineTo(536,442);
ctx.closePath();
ctx.clip();
ctx.drawImage(img,0,0);
ctx.restore();
ctx.save();
ctx.moveTo(305,306);
ctx.lineTo(563,455);
ctx.lineTo(564,603);
ctx.lineTo(305,602);
ctx.closePath();
ctx.clip();
ctx.drawImage(img,0,0);
ctx.restore();
ctx.save();
ctx.moveTo(305,306);
ctx.lineTo(305,602);
ctx.lineTo(48,602);
ctx.lineTo(45,447);
ctx.closePath();
ctx.clip();
ctx.drawImage(img,0,0);
ctx.restore();
ctx.save();
ctx.moveTo(305,306);
ctx.lineTo(45,447);
ctx.lineTo(1,447);
ctx.lineTo(1,152);
ctx.lineTo(48,152);
ctx.closePath();
ctx.clip();
ctx.drawImage(img,0,0);
ctx.restore();
}
img.src='http://i.imgur.com/povcJq8.png';
而且HMTL/CSS:
<canvas style="position: absolute; top: 50%; left: 50%; margin-left: -300px; margin-top: -300px;"id="NewCanvas" height="700" width="700">
</canvas>
所以我quess它要1「餅塊」當上空盤旋,它被點亮? – dwana
@dwana是的,正好! –