一个好的HTML5画布多点击事件监视器实例
最近我为HTML5写了一个游戏框架,今天我写了一个多层点击事件的监视器,我觉得它仍然很有趣,所以它被从模块中移除,下面的代码只是一些想法,具体的实现当然不那么难看。
复制代码代码如下所示:
文件
框>画布{
位置:绝对;
}
功能getrect(obj){
VaR X1 = obj.offsetleft;
VaR Y1 = obj.offsettop;
VaR X2 = X1 + obj.offsetwidth;
VaR Y2 = Y1 + obj.offsetheight;
返回{
X1,
Y1:Y1,
x2检验,
:Y2 Y2
};
}
里面的函数(x,y,矩形){
如果(x > rect.x1 xrect.y1 y<如果Y2){
返回true;
}
{其他
返回false;
}
}
var触发器{ };
trigger.list = { };
trigger.listen =函数(){
var list = trigger.list;
Document.addEventListener(听到咔哒声,功能(EVT){
对于(var i = 0;i < list.length;+ +我){
{我}(EVT)名单;
}
});
};
Trigger.listen();
VaR L1 = document.getelementbyid('layer1);
VaR的L2 = document.getelementbyid('layer2);
VaR DL1 =功能(EVT){
如果(内(evt.clientx,evt.clienty,getrect(L1))){
console.log(听到咔哒声);
}
}
Trigger.list.push(DL1);
VaR DL2 =功能(EVT){
如果(内(evt.clientx,evt.clienty,getrect(L2))){
console.log('click2);
}
}
Trigger.list.push(DL2);