WPF小球碰撞

Mr丶G 2017-12-03 09:02:57
WPF怎么实现用鼠标拖动一个小球击打其他小球然后产生运动,刚学做了好久总是有问题,有哪位能给个demo程序吗?
...全文
1209 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmidl 2018-09-11
  • 打赏
  • 举报
回复
首先关键的是背后的计算公式,有了公式以后你就搜索“ VisualTreeHelper.HitTest”用碰撞测试判断小球是否重叠。
E次奥 2018-03-22
  • 打赏
  • 举报
回复
两个小球外都有矩形;1、判断矩形是否相交(根据坐标计算);2、如果相交在判断两个小球的圆心距离是否小于两个小球的半径的和;如果1、2都满足,证明小球相交;
shushukui 2018-03-08
  • 打赏
  • 举报
回复
先了解一下什么是碰撞检测吧。
Nick_Ngai 2018-02-23
  • 打赏
  • 举报
回复
没有Demo,大概思路如下: 要在被拖动小球的拖动事件里,逻辑处理如下: 1.获取当前小球的坐标和直径,以及其他小球的坐标及直径。 2.根据坐标和直径,计算当前小球,有没有碰到其他小球。(可以用个循环处理,循环其他所有小球,逐个与当前小球坐标及直径判断) 3.如果有碰撞,根据坐标,获取当前小球和被碰撞小球的位置,计算出被碰撞小球的方向,在当前小球的哪个方向上(如:上方,下方,左方,右方)。 4.计算被碰撞小球的运动轨迹(坐标变换),然后再用动画实现。 5.如果轨迹中又有碰到其他小球,还要计算再次发生碰撞的运动轨迹。 总体感觉实现起来,运算逻辑有些复杂,楼主再找找资料吧,找些不是WPF的资料也可以,看看里面的逻辑算法。
bluk44444 2018-01-19
  • 打赏
  • 举报
回复
先分析好数学方面来讲的运动轨迹(坐标变换),然后再用动画实现。
  • 打赏
  • 举报
回复
这里没demo。

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧