2012-11-14 87 views
1

可能重复:
Basic 2d collision detection如何检测c#中两个图像之间的碰撞?

希望你能帮助我这一个。我是C#的新手,所以我很缺乏经验。但基本上我试图制作一个游戏,其中某些物体从天而降。像羽毛这样的物体需要一段时间才能落下,而金属球会掉落得更快。你从一定数量的现金开始,可以购买你选择的武器放在地下。现在我从来没有做过与碰撞事情有关的任何事情,所以简单的答案将有很大的帮助!

这里有一些碰撞,将在游戏中:(不知道是否不同类型的碰撞都不同编码)

  • 坠物之间子弹和高空坠物
  • 碰撞的碰撞地面(它是无生命的)
  • 坠落物体与另一物体周围的某个半径之间的碰撞(例如,如果武器从其中心开始发射辐射束)
  • 旋转物体之间的碰撞(旋转ing刀片)和下降的物体

如果有人可以帮助我,这将是非常感谢!

+0

我同意@Vyktor在这里,这是一个骗局(这不是犯罪,它只是社区的一般管家) - 我也希望你没有使用* images *来处理你所谈论的所有事情 - 为了准确的碰撞检测,您需要使用碰撞对象的尽可能数学表示。例如。一个梁将是一个向量,一个球将是一个点+半径(或者如果方向是重要的话,实际上是点+向量)。 –

回答

0

几个月前我有一个类似的问题与海流计算。另外还有一个算法要解决(在10年前为电影学校举办的比赛),关于卡片打到地面并检测是否过度平铺。

随着海流我有几乎无限的流路径向量,所以我计算最小半径,其中目前是不受障碍影响。如果电流接近障碍物(在最小半径范围内),则开始真正的计算。

关于卡片。卡由4分表示。可以说2d,(0,0),(1,0),(0,1),(1,1)。检测另一张卡是否与其重叠,只是检测是否有任何第二卡点放在该方格内,反之亦然。

对于真正的子弹/羽毛碰撞检查Vyktor先前提到的主题。