libgdx判断actor与circle是否重叠

实质是检测矩形与circle是否重叠

基本函数,判断点是否在circle中

1     public static boolean IsInside( float x, float y, Circle circle ){
2 float disX = x - circle.x;
3 float disY = y - circle.y;
4 return disX*disX + disY*disY <= circle.radius*circle.radius;
5 }

再判断矩形4个点是否在其中,有一个在即重叠

1     public static boolean IsOverlap( Actor actor, Circle circle ){
2 float x = actor.getX(), y = actor.getY(), w = actor.getWidth(), h = actor.getHeight();
3
4 return IsInside(x,y,circle) || IsInside(x+w,y,circle) || IsInside(x,y+h,circle) || IsInside(x+w,y+h,circle);
5 }

libgdx判断actor与circle是否重叠,布布扣,bubuko.com

时间: 2024-10-10 09:42:02

libgdx判断actor与circle是否重叠的相关文章

iOS中判断两个圆是否重叠

#import <Foundation/Foundation.h> #import <math.h> @interface Point2D : NSObject { double _x; // x值 double _y; // y值 } // x值的getter和setter - (void)setX:(double)x; - (double)x; // y值的getter和setter - (void)setY:(double)y; - (double)y; // 同时设置x和y

判断两个区间是否重叠图解

图解:判断两个区间是否重叠 1.正向判断,列出四种重叠的情况,满足其一,则重叠: 2.逆向判断,列出两种不重叠的情况,如果满足其一,则重叠: 优化正向判断:如下图

(算法)判断两个区间是否重叠

题目: 判断两个区间是否重叠 思路: 假设区间表示为[start,end],先存在两个区间A,B. 两个区间的关系有两种:重叠与不重叠 重叠的情况有4种,两种相交,两种包含(很容易想到,此处不示意) 不重叠有两种情况:A在B前面,A在B后面 因此很容易得到判断区间重叠的方法: 1.正向判断,列出四种重叠的情况,满足其一,则重叠: 2.逆向判断,列出两种不重叠的情况,如果满足其一,则重叠: 显然第二种方法更简单. 优化正向判断: 考虑一下正向判断的四种情况,其实只要满足max(A.start,B.

GJK(Gilbert–Johnson–Keerthi) 判断任意凸图形是否重叠

参考:http://www.dyn4j.org/2010/04/gjk-gilbert-johnson-keerthi/ 和SAT(分离轴)法一样, GJK可以判断两个凸图形是否重叠. 比起SAT, GJK优在用同一套办法可以处理所有的图形, 而SAT判断某两种不同图形(多边形-多边形/多边形-圆形/圆形-圆形等)都要区别处理. GJK原理: 如果两个凸图形的闵可夫斯基差包含原点, 那么这两个图形重叠. 所以问题转变成判断一个闵可夫斯基差图形是否包含原点. 闵可夫斯基和就是把两个图形里的点都当作

Libgdx 之Actor 演员类

教程总目录: http://blog.csdn.net/zqiang_55/article/details/50878524 上一篇我们介绍了Libgdx中舞台类,按照类的继承图,我们应该介绍Actor类,从截图中我们知道Libgdx中的UI控件都是继承自Actor. 前面我们也介绍过Sprite类,Actor有点类似于Sprite类,保存位置,大小,颜色,旋转中心,缩放以及Actions等,同时里面也包含了一个舞台类.Actor的坐标系(local Coordinate)从左下角开始计算 我们

判断两个控件在同一个Window上是否有重叠

//对UIView写分类 - (BOOL)intersectWithView:(UIView *)view; - (BOOL)intersectWithView:(UIView *)view { UIWindow *window = [UIApplication sharedApplication].keyWindow; CGRect selfRect = [self convertRect:self.bounds toView:window]; CGRect viewRect = [view

矩形重叠判断

突然想到一个很有意思的问题,就是怎么判断两个矩形是否重叠? 我想到的算法是,先计算不重叠情况,再取反即可! 不重叠情况 蓝色矩形在黑色矩形的四周,这就是不重叠的情况.转换成坐标就是,蓝色矩形的 Xmin>x2 || Xmax<x1 || Ymin>y2 || Ymax<y1 可得重叠公式为: !(Xmin>x2 || Xmax<x1 || Ymin>y2 || Ymax<y1)

简单地判断判断两矩形相交/重叠 C#

最近需要用到矩形相交算法的简单应用,所以特地拿一个很简单的算法出来供新手参考,为什么说是给新手的参考呢因为这个算法效率并不是很高,但是这个算法只有简简单单的三行.程序使用了两种方法来判断是否重叠/相交,如果有兴趣可以看一下,如果觉得有bug可以留言.代码仅供参考. C#中矩形的方法为Rectangl(起始点坐标, 矩形的大小)或Rectangl(起始点x坐标, 起始点y坐标, 矩形宽, 矩形高),起始点为矩形区域的左上角. 方法一 姑且叫做“井字法”吧,延长其中一个矩形的四边使其形成一“井”字(

5、使用Libgdx设计一个简单的游戏------雨滴

(原文:http://www.libgdx.cn/topic/49/5-%E4%BD%BF%E7%94%A8libgdx%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84%E6%B8%B8%E6%88%8F-%E9%9B%A8%E6%BB%B4) 在深入研究Libgdx提供的API之前,我们先来创建一个简单的游戏来感受一下libgdx各个功能.这里将简单的对一些功能做介绍. 使用的技术: 文件访问 清除屏幕 渲染图片 使