【问题标题】:About collision detection in KonvaJS关于 KonvaJS 中的碰撞检测
【发布时间】:2018-09-01 10:43:13
【问题描述】:

在KonvaJS中,如何检测一个点是否在一个不规则图形(例如五边形)内部,以及如何检测一个图形在拖动时是否与另一个图形发生碰撞?请写一个例子供参考。我的中心思想是(只要它是不规则模式):碰撞检测和阻力限制

【问题讨论】:

  • KonvaJS 不提供您寻找的类型的碰撞检测。网络上有很多关于必要算法的解释,例如wildbunny.co.uk/blog/2011/04/20/collision-detection-for-dummies。请分享您的解决方案。
  • 你给的参考太深了,看不懂,不过非常感谢你的回答
  • 如果您打算进行命中测试,除非您的需求非常简单,否则您需要准备一些数学知识。矩形中的点和矩形碰撞很简单。你能以某种方式简化你的要求吗?
  • 您能更清楚地了解您的要求吗?例如,您的意思是用户应该能够拖动形状 1 直到它与形状 2 碰撞,然后形状 1 就不能被进一步拖动?或者换一种说法,形状 1 可能不会被“拖到”形状 2 上,等等?还是当形状 1 与形状 2 碰撞时必须移动形状 2。谢谢。

标签: konvajs


【解决方案1】:

如 cmets 中所述,Konva 不支持碰撞检测。

对于简单的情况,你可以实现自己的勾结:https://konvajs.github.io/docs/sandbox/Collision_Detection.html

为了获得良好的碰撞检测支持,您可以使用另一个 js 库。喜欢其中之一:

因此您将使用“物理”库来计算位置、碰撞等。您将使用Konva 进行绘图。

【讨论】:

  • 按照你的想法,能不能给我做个demo,测试两个三角形?
猜你喜欢
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-05
相关资源
最近更新 更多