const {ccclass, property} = cc._decorator;
@ccclass
export default class touch extends cc.Component {
onLoad () {
this.node.on(cc.Node.EventType.TOUCH_END, this.onTouch, this)
this.node._hitTest = this.hitTest.bind(this)
}
hitTest(point){
var locationInNode = this.node.convertToNodeSpace(point);
var size = this.node.getContentSize();
let sprite = this.node.getComponent(cc.Sprite)
if(sprite){
var imgObj = sprite.spriteFrame.getTexture().getHtmlElementObj();
if(this.onLucencyTouch(imgObj, locationInNode.x, size.height-locationInNode.y)){
return true
}else{
return false
}
}
return false
}
onLucencyTouch(img, x, y){
var cvs = document.createElement("canvas");
var ctx = cvs.getContext('2d');
cvs.width = 1;
cvs.height = 1;
ctx.drawImage(img,x,y,1,1,0,0,1,1);
var imgdata = ctx.getImageData(0,0,1,1);
return imgdata.data[3];
}
onTouch(touch){
console.log("----------", this.node.name)
}
}