使对象在画布上识别碰撞

问题描述

所以,这实际上不是一个“编码”问题,而是一个“思想”问题...
我已经使用Canvas(JS)制作了一些动画,现在我想制作一种重力模拟器,但是我不知道如何管理对象碰撞。

好吧,假设所有对象都是圆形,因此更容易管理碰撞,并且所有对象都具有相同的质量,我们将使用桌面作为这些对象的“容器”,并且我可以使用动量以获得非常自然的“弹跳”效果,但是如果底部填充了其他圆圈,则显然不会起作用,因为如果一个圆圈与底部的其他圆圈碰撞,则这些圆圈必须与“容器”碰撞应该有无限的质量...

除此之外,我一般如何管理碰撞?我的意思是,假设我们有3个圆,ABC,A击中了B,但是在计算了外角和速度之后,我们看到B将在下一帧中击中C,所以现在我们应该计算B在C碰撞后发生,但是比C可能发生的是,在计算角度和速度后会撞到A,依此类推,那么我们该怎么办?更新速度,直到我们到达下一帧没有物体会击中其他物体的时刻(有失速的可能性),或者忽略B会击中C并困扰下一帧的事实吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)