我用的是DELPHI X,还找不到什么好方法 来模拟球之间的  连锁碰状,各位都是怎么做的?

解决方案 »

  1.   

    楼上的各位的想法我都想到的。但是我发现如果用每移动一次就检测两求之见的距离的话有个问题:就是球的移动不是一个PIXEL一个PIXEL的,也就是说我的速度大小是同过一次移动不同的PIXEL来实现的,这样问题就出来了。如果我现在两球之间的距离是10个PIXEL,但是我的球速是20个PIXEL,那么我的球就会穿过那个要被撞的球,应该要碰的。但是没有,要是一个PIXEL一个PIXEL的移动速度看起来太慢,不真实。怎么办?用DELPHIX,速度也不够快啊!
      

  2.   

    是的,,我也想过这问题,
    可以一个PIXEL一个PIXEL计算的.或者更精确些.单独开线程计算,计算时候不要处理显示,则CPU的用量并不大.而刷新显示,则同计算PIXEL的处理不相关.每秒刷新个若干次..现在没有空写出代码,过些时候闲了试试:)
      

  3.   

    用delphiX里的精灵啊,自己带碰撞事件,很简单.每个球是一个精灵,然后在重载精灵的碰撞事件,实现你自己的功能.看看DELPHIX自己带的sprite目录下面的例子吧,很好的材料,找不到帮助只有自己看代码了啊,我看了一整个通宵啊~~~~不懂外语命真苦~~~~~~我连音英文都不会:(