我正在开发一个函数,该函数在 Flash AS3 中获取舞台鼠标坐标并在光标下方的十六进制网格中返回图块。如果光标不在图块上,我希望函数返回 NaN 或未定义,如果是,则返回对象数组中该图块的整数索引。
public function getCursorTile(mX:Number,mY:Number):uint
{
var tileIndex:uint = new uint(NaN);
trace(tileIndex);
for (i=0; i<tileArray.length; i++)
{
if (tileArray[i].hitTestPoint(mX,mY,true))
{
tileArray[i].tileBorder.gotoAndStop(1);
tileIndex = i;
}
}
return tileIndex;
}
我一直在对大多数整数变量使用 uint,也许这种数据类型不支持 NaN 或未定义?此代码在 tileIndex 定义后跟踪 0。我正在使用 hitTest 因为 hexgrid 不是正方形的并且是随机生成的。瓷砖 0 是第一个瓷砖,当光标离开十六进制地图时返回 0 会导致问题。