我一直在尝试在游戏中创建菜单的副本,但有一件事缺失。当你悬停不同的画布时,我希望他们改变不透明度,但由于它不是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是的,正好! –