为什么我收到错误我无法从float转换为int?

时间:2017-09-09 21:50:05

标签: c# unity3d unity5

我有以下代码行:

calcVector.y = (heightmapData[calcPosZ, calcPosX]) * terrainSize.y;

变量:

calcVector的类型为Vector3

heightmapData的类型为float[,]

calcPosZcalcPosX同时输入float

terrainSize的类型为Vector3

问题:

我得到的错误来自以下部分:

heightmapData[calcPosZ, calcPosX]
  

无法隐式转换类型' float' to' int'。一个明确的   转换存在(您是否错过了演员?)。

我尝试了什么:

我尝试在heightmapData之前键入(float)或(int)我也尝试float.Parse(heightmapData.ToString())但没有任何效果。

为什么我收到错误我无法从float转换为int?

1 个答案:

答案 0 :(得分:2)

  

calcPosZ和calcPosX都输入float

不正确。它必须是int类型,因为它表示数组heightmapData

的索引