2011-03-16 62 views
1


我正在写一个游戏,用户有一艘太空船,需要“杀死”一些敌人,试图杀死他。
我有一个“纹理2D”用户的太空船照片,子弹图片和敌人的照片。
我想知道,在用户向敌人射击子弹后,如何检查子弹是否伤害了敌人?
换句话说 - 什么函数检查一张图片是“覆盖”(甚至是部分)另一张?如何检查两张图片是否“相互触摸”?

Thnx! :-)

回答

0

,我不知道那做任何预先存在的API函数,但实现它自己将是一个很好的锻炼。

你应该知道每个图片的起源的x/y坐标。你也应该知道每张照片的尺寸。

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

+0

嗯,这可能是一个好主意,但是我听说有一个函数存在,如果我使用它,我的程序会看起来像面糊。 – Inball 2011-03-16 09:17:00

1

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

Riemers.net有一个很好的教程。这是关于来自应用集线器的每像素碰撞检测的good sample project