我使用unity and visual studio 2017调试和编辑我的统一代码,并创建了一个bool函数,但是当它返回true时,if语句将不执行内部操作:-
我的功能:-
private bool EnemyClosed(float enemyv, float playerv)
{
for(float i = -0.9f; i<=0.9f; i+=0.1f)
if (enemyv == (playerv + i))
return true;
return false;
}
错误在那里if (enemyv == (playerv + i)) return true;
中,我调试了代码,而enemyv
等于(playerv + i)
,但它不会返回true,我也不知道为什么,请问有什么错误吗?>
编辑:-
我知道我无法使用等号比较浮点数,但是当我使用Mathf.Approximately
函数比较浮点数时,它需要一些时间来找到结果,我在调试程序时就看到了这一点,并且使用了即时窗口始终使用上面的函数来找到它们的相等性,因此花了一些时间来找到结果,所以我不想使用Mathf.Approximately
函数,所以请帮助我找到一些简单的代码来比较它们。