
vb 多个小球碰撞 求多个小球相互碰撞,在一个范围内运动的源代码,思路也可以。
我在timer里面讨论了两个球碰撞,但是两个的运动方向改变,必然会和其他小球碰撞,然后要判断起来,我就无力了,就产生各种问题,会进入死循环。觉得自己的思路不对,我是菜鸟,...
我在timer里面讨论了两个球碰撞,但是两个的运动方向改变,必然会和其他小球碰撞,然后要判断起来,我就无力了,就产生各种问题,会进入死循环。觉得自己的思路不对,我是菜鸟,求高手指导。O(∩_∩)O谢谢!(ps:大概有8-10个小球)
展开
2个回答
展开全部
不要自己事先判断好什么时候哪里有碰撞,然后指挥球到时候自动改变运动。
只要给定步长,通过遍历判断此步初(或末)有哪些球会碰上,然后让碰撞的球按碰撞物理规律以新的速度开始下一下运动就可以了。然后持续一个步长,开始下一时间点的判断。如此循环,小球就碰撞着运动起来了。
在实际编码中,采用面向对象的方法和适当的变步长技术,可以使多球碰撞编码简化,并且计算更为流畅。
另:不知道除遍历外,在完全不了解一个球周围情况的条件下,有没有更好的办法来判断可碰撞性,路过的高手可指点一下。
只要给定步长,通过遍历判断此步初(或末)有哪些球会碰上,然后让碰撞的球按碰撞物理规律以新的速度开始下一下运动就可以了。然后持续一个步长,开始下一时间点的判断。如此循环,小球就碰撞着运动起来了。
在实际编码中,采用面向对象的方法和适当的变步长技术,可以使多球碰撞编码简化,并且计算更为流畅。
另:不知道除遍历外,在完全不了解一个球周围情况的条件下,有没有更好的办法来判断可碰撞性,路过的高手可指点一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询