我试图将float变量与字典键的值进行比较。但我得到的错误是它无法从float转换为bool。字典的值是一个无符号整数,我将其转换为float。
void RunAnimation()
{
float aloop = (float)AnimationLoop[CurrentAnimation];
if(frame%aloop)
{
}
}
这样做会导致if语句出现错误"无法隐式转换类型' float'到了' bool'"。但这两个价值观显然是浮动的,我不明白它是如何产生的。
答案 0 :(得分:3)
您可以在C / C ++中执行此操作,但不能在C#中执行此操作。你需要写这个:
if ((frame % aloop) != 0)
在C / C ++中,bool
实际上只是一个数值,它是0(假)或其他值(真)。在您的情况下,frame % aloop
将成为"有效的bool"在C / C ++中。
bool
表达式,但frame % aloop
计算为数字类型。因此错误。