1


我正在编写一个游戏,其中用户拥有一艘宇宙飞船,需要“杀死”一些试图杀死他的敌人。
我为用户的飞船图片、子弹图片和敌人图片提供了“纹理 2d”。
我想知道,用户将子弹射向敌人后,如何检查子弹是否伤害了敌人?
换句话说 - 什么功能检查一张图片是否“覆盖”(甚至部分)另一张图片?

谢谢!:-)

4

3 回答 3

1

基本上你需要检测两个不透明像素何时重叠,但为了防止不必要的计算,你首先检查你的船和敌船的边界框是否重叠(因为如果边界框不重叠,像素不会重叠't)。

Riemers.net有一个很好的教程。这是来自应用程序中心的关于每像素碰撞检测的一个很好的示例项目。

于 2011-03-17T16:13:09.947 回答
1

请查看“2D 碰撞检测”主题。当您使用 XNA 时,以下站点应该会给您一个良好的开端: http: //www.progware.org/Blog/post/XNA-2D-Basic-Collision-Detection.aspx

于 2011-03-16T09:03:56.367 回答
0

我不知道有任何预先存在的 API 函数可以做到这一点,但自己实现它会是一个很好的练习。

您应该知道每个图片原点的 x/y 坐标。您还应该知道每张图片的尺寸。

您可以计算图片的边界框,以及是否存在任何共同点。

于 2011-03-16T09:04:20.267 回答