android 2d弧碰撞检测

android 2d弧碰撞检测,第1张

概述我有一个使用 android 2d图形绘制的旋转弧 c.drawArc(new RectF(50, 50, 250, 250), 30, 270, true, paint); 游戏运行时弧线会旋转, 我想知道我是如何检测是否有任何其他游戏对象(rects,circle)与它相撞? 这是我第一次写游戏:) 我在http://hakim.se/experiments/html5/core/01/看到过 我有一个使用 android 2d图形绘制的旋转弧

c.drawArc(new RectF(50,50,250,250),30,270,true,paint);

游戏运行时弧线会旋转,

我想知道我是如何检测是否有任何其他游戏对象(rects,circle)与它相撞?

这是我第一次写游戏:)

我在http://hakim.se/experiments/html5/core/01/看到过类似的东西

提前致谢

解决方法@H_301_26@ 圆弧碰撞比正常碰撞稍微硬一些,但使用布尔代数,您可以轻松检查给定点是否在弧内.

看看下面的图片.

这里有3个对象.黑色球体,这可以看到你的弧线,如果有东西碰撞它,它可能在你的弧线内.黑色球体顶部的红色球体,可以看到弧线的“内部”,如果红色球体内部有东西,它绝对不会在弧线内部.现在还有绿色三角形可视化你的弧线的“截止”,绿色三角形内的任何东西也绝对不在你的弧线中.

测试是否有东西在黑色球体内是很容易的. (物体到球体中心的距离< =球体半径).红色球体也是如此.绿色三角形有点棘手,你首先必须构建它.找到弧的起点和终点弧度.并通过起始弧度旋转单位矢量.然后用结束弧度旋转单位矢量.将这两个向量延长2 *黑球的半径.现在使用弧的中心点和两个向量的位置,将中心位置添加为三角形的3个点.然后,您可以使用其中一个点三角形碰撞解算器:http://www.bing.com/search?q=point+triangle+collision&go=&form=QBLH&scope=web

所以请记住:与arc的碰撞=(与黑球的碰撞)&& !(与红色球体碰撞)&& !(与绿色三角形碰撞).

总结

以上是内存溢出为你收集整理的android 2d弧碰撞检测全部内容,希望文章能够帮你解决android 2d弧碰撞检测所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1129580.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存