触摸点是否在按钮矩形内

假设触摸变量是t

①t->getLocation()能得到触摸的全局GL坐标

②然后将这个坐标转换到按钮的局部坐标:按钮->convertToNodeSpace(globalP);//忽略掉注册点,是因为等下获取按钮举行的时候,就是从按钮左下角作为原点的

③然后获取按钮的矩形:Rect r = 按钮->getBoundingBox();

④r.origin =  Vec2::ZERO;//转换成(0,0),是因为globalp现在就是以按钮左下角为原点,所以按钮的矩形也要以其左下角为原点

⑤判断是否包含r.containsPoint(globalP)

ok,大功告成

触摸点是否在按钮矩形内

时间: 2024-08-29 16:28:54

触摸点是否在按钮矩形内的相关文章

经纬度计算是否在圆形内,是否在矩形内,是否在多边形内方法

class 点面关系{static void Main(string[] args){//Vector2D point1 = new Vector2D(39.909209536859834, 116.3225715637207);//inVector2D point1 = new Vector2D(39.901045, 116.415596);//outVector2D cPoint = new Vector2D(39.909209536859834, 116.3225715637207); C

cocos2d-x3.x屏蔽触摸遮罩层屏蔽按钮

cocos2d-x3.x之后触摸方法有所改变,要屏蔽掉某一层的触摸事件其实很简单,首先touchbegan一定要返回true,其次给监听事件设置吞噬触摸为true,最后注册触摸层级一定要高于按钮-128的层级 auto touchListener=EventListenerTouchOneByOne::create(); touchListener->onTouchBegan=[=](Touch *touch,Event *event) { touchListener->setSwallowT

POJ 1410 Intersection(线段相交&&判断点在矩形内&&坑爹)

Intersection 大意:给你一条线段,给你一个矩形,问是否相交. 相交:线段完全在矩形内部算相交:线段与矩形任意一条边不规范相交算相交. 思路:知道具体的相交规则之后题其实是不难的,但是还有个坑点就是题目里明明说给的是矩形左上角跟右下角的点,但实际上不是,需要重新判断一下...真坑. 1 struct Point 2 { 3 double x, y; 4 } A, B, C, D; 5 struct Line 6 { 7 Point a, b; 8 } L; 9 10 int n; 11

POJ 1410 Intersection(线段相交&&推断点在矩形内&&坑爹)

Intersection 大意:给你一条线段,给你一个矩形,问是否相交. 相交:线段全然在矩形内部算相交:线段与矩形随意一条边不规范相交算相交. 思路:知道详细的相交规则之后题事实上是不难的,可是还有个坑点就是题目里明明说给的是矩形左上角跟右下角的点,但实际上不是,须要又一次推断一下...真坑. struct Point { double x, y; } A, B, C, D; struct Line { Point a, b; } L; int n; double xmult(Point p1

判断点是否在一个矩形内

判断是否在矩形内: 只需要判断该点是否在上下两条边和左右两条边之间就行. 判断一个点是否在两条线段之间夹着就转化成,判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,来判断夹角是否超过了180度 如下图 只要判断(AB X AE ) * (CDX CE)  >= 0 就说明E在AB,CD中间夹着,同理计算另两边DA和BC就可以了. 最后就是只需要判断 (AB X AE ) * (CD X CE)  >= 0 && (DA X DE ) * (BC X BE) >=

小程序悬浮按钮进入内页

wxml: <!-- 小程序悬浮按钮进入内页 --> <navigator class="set_button" url='../set/set' hover-class='none'> <image class="set_image" src="/images/set.png"></image> </navigator> wxss: .set_button{ background-co

POJ 1410 判断线段与矩形交点或在矩形内

这个题目要注意的是:给出的矩形坐标不一定是按照左上,右下这个顺序的 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define eps 1e-8 #define INF 1e9 using namespace std; const int maxn=100; typedef struct Point {

LightOj1366 - Pair of Touching Circles(求矩形内圆的对数)

题目链接:http://lightoj.com/volume_showproblem.php?problem=1366 题意:一个H*W的矩形,现在要放入两个外切的圆,问能放多少对这样的圆,其中圆心和半径都是整数: 枚举相对的圆心坐标,根据圆心的距离,再枚举一个圆的半径: #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> #include<cmath&

谷歌浏览器后退按钮input内值丢失的问题

问题描述: 商品页面,有四个input框, 输入数字后,点击按钮跳转到其他页面,然后点浏览器的返回按钮,这里记录的数字会出现错误(丢失了一个数字).只有谷歌浏览器出现这个问题,其他浏览器没发现. 经过排查,发现是有一句JS引起的: $('#searchkey').attr('autocomplete','off’) 上面的搜索框关掉自动完成属性这句JS引起的.删除后,问题解决. 可能原因: 谷歌浏览器在加载的时候,判定了input的个数,放入缓存,浏览器回退按钮点击后,取对应的数据放到对应的in