【问题标题】:How to detect overlapping objects in Corona?如何检测 Corona 中的重叠对象?
【发布时间】:2013-02-17 12:59:21
【问题描述】:

检测十字准线瞄准圆形目标的最佳方法是什么? 我尝试在十字准线中间添加一个小圆圈,并检测该圆圈与目标何时发生碰撞。但我无法让它工作。

我已经尝试过使用目标的 x 和 y 坐标,但如果能够检测到十字准线“圆”和圆形目标何时重叠,以及何时不重叠,那就更好了.

我已经尝试过重叠图像:http://developer.coronalabs.com/code/flashs-hittestobject-emulated-using-contentbounds,但这不能识别圆形,只能识别矩形。

【问题讨论】:

    标签: sdk collision-detection coronasdk target overlapping


    【解决方案1】:

    如果从十字准线的 x,y 到对象中心的距离小于或等于对象的半径,则十字准线在对象上。毕达哥拉斯是你在这里的朋友。在enterFrame 事件中查看此内容。

    顺便说一句,您不需要为此进行平方根计算。只需每次通过enterFrame 计算((x1-x2)*(x1-x2)) + ((y1-y2)*(y1-y2)),并将其与对象的半径平方进行比较,它是常数,因此只能计算一次。

    【讨论】:

    【解决方案2】:

    查看这篇关于非物理碰撞的博文。其中涵盖了两种方法(框重叠和圆半径)。我在很多不需要物理的应用程序中使用它们。

    http://omnigeek.robmiracle.com/2011/12/14/collision-detection-without-physics/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      相关资源
      最近更新 更多