Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphics 如何检查是否有两张图片“;感人的;彼此?_Graphics_C# 4.0_Xna_Xna 4.0_Image - Fatal编程技术网

Graphics 如何检查是否有两张图片“;感人的;彼此?

Graphics 如何检查是否有两张图片“;感人的;彼此?,graphics,c#-4.0,xna,xna-4.0,image,Graphics,C# 4.0,Xna,Xna 4.0,Image,我正在写一个游戏,在这个游戏中,用户有一艘宇宙飞船,需要“杀死”一些敌人,他们会试图杀死他。 我有一个“2d纹理”用于用户的宇宙飞船图片、子弹图片和敌人图片。 我想知道,在用户将子弹射向敌人后,如何检查子弹是否伤害了敌人? 换句话说,什么函数检查一张图片是否“覆盖”(甚至部分)另一张 Thnx! :-)请查看主题“2D碰撞检测”。当您使用XNA时,以下网站应为您提供一个良好的开端: 我不知道有任何预先存在的API函数可以做到这一点,但是自己实现它将是一个很好的练习 你应该知道你的每一张照片的x/


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

Thnx!
:-)

请查看主题“2D碰撞检测”。当您使用XNA时,以下网站应为您提供一个良好的开端:

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

你应该知道你的每一张照片的x/y坐标。您还应该知道每张图片的尺寸


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

基本上,您需要检测两个不透明像素何时重叠,但为了避免不必要的计算,您首先检查您的舰船和敌舰的边界框是否重叠(因为如果边界框不重叠,像素将不会重叠)


有一个很好的教程。这是一个来自app hub的关于每像素碰撞检测的教程。

嗯,这可能是个好主意,但我听说有这样一个函数,如果我使用它,我的程序看起来会更好。。