美文网首页
cocos creator 点击区域是否透明判断(用canva

cocos creator 点击区域是否透明判断(用canva

作者: 凡凡的小web | 来源:发表于2020-10-13 20:29 被阅读0次

    每次都是draw的一个像素,没有效率问题

    如果不支持像素则透明区域的判断用Polygon Collider组件来判断

    function 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];
            }
    
    
    let target = e.target
                let pos = target.convertToNodeSpace(e.getLocation())
                let sprite = target.getComponent(cc.Sprite)
                let size = that.node.getContentSize();
    
                let imgObj = sprite.spriteFrame.getTexture().getHtmlElementObj();
                if(onLucencyTouch(imgObj, pos.x, size.height-pos.y)){
                    return true
                }else{
                    return false
                }
    
    

    相关文章

      网友评论

          本文标题:cocos creator 点击区域是否透明判断(用canva

          本文链接:https://www.haomeiwen.com/subject/gcrbpktx.html