判断鼠标当前坐标是否在当前渲染对象区域中

本文提供了一段用于判断鼠标当前位置是否位于指定渲染对象区域内的代码。通过转换鼠标的坐标到游戏窗口坐标系,实现精确判断。代码包括两个主要部分:一是判断鼠标是否在对象区域内;二是坐标转换函数。

不啰嗦上代码:

//判断鼠标当前坐标是否在当前渲染对象区域中
        isMouseIn:function(){
            var x = Mouse.gX() || Touch.gX(),
                y = Mouse.gY() || Touch.gY();
            var sc = this.owner;var gx = sc.x,
                gy = sc.y;
            //转换鼠标坐标到游戏窗口坐标系
            var cd = xengine.fn.MathUtil.mapSToCoord(x,y,gx,gy);
            var hw  = this.w*0.5,
                hh = this.h*0.5;
            return cd[0] >= this.x-hw && cd[0] <= this.x + hw && cd[1] >= this.y - hh && cd[1] <= this.y + hh;
        }
//以屏幕上左上角为原点,x1,y1为坐标的点转向以ox,oy为原点的坐标
            mapSToCoord:function(x1,y1,ox,oy){
                return [x1-ox,y1-oy];
            },

 

转载于:https://www.cnblogs.com/gongshunkai/p/5818743.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值