 		{
 			var x1:int = other.parent.x + other._x - parent.x - _x,
 				y1:int = other.parent.y + other._y - parent.y - _y,
-				x2:int = ((x1 + other._width - 1) / _cell.width),
-				y2:int = ((y1 + other._height - 1) / _cell.height);
+				x2:int = ((x1 + other._width - 1) / _tile.width),
+				y2:int = ((y1 + other._height - 1) / _tile.height);
 			_point.x = x1;
 			_point.y = y1;
-			x1 /= _cell.width;
-			y1 /= _cell.height;
-			_cell.x = x1 * _cell.width;
-			_cell.y = y1 * _cell.height;
+			x1 /= _tile.width;
+			y1 /= _tile.height;
+			_tile.x = x1 * _tile.width;
+			_tile.y = y1 * _tile.height;
 			var xx:int = x1;
 			while (y1 <= y2)
 			{

		{
			_rect.x = other.parent.x + other._x - parent.x - _x;
			_rect.y = other.parent.y + other._y - parent.y - _y;
			_point.x = int((_rect.x + other._width - 1) / _cell.width) + 1;
			_point.y = int((_rect.y + other._height -1) / _cell.height) + 1;
			_rect.x = int(_rect.x / _cell.width);
			_rect.y = int(_rect.y / _cell.height);
			_rect.width = _point.x - _rect.x;
			_rect.height = _point.y - _rect.y;
			return _data.hitTest(FP.zero, 1, _rect);

				{
					if (_data.getPixel32(x1, y1))
					{
						if (other._data.hitTest(_point, 1, _tile)) return true;
					}
					x1 ++;
					_tile.x += _tile.width;
				}
				x1 = xx;
				y1 ++;
				_tile.x = x1 * _tile.width;
				_tile.y += _tile.height;
			}
			return false;
		}
		
		// Grid information.
		/** @private */ private var _data:BitmapData;
		/** @private */ private var _columns:uint;
		/** @private */ private var _rows:uint;
		/** @private */ private var _tile:Rectangle;
		/** @private */ private var _rect:Rectangle = FP.rect;
		/** @private */ private var _point:Point = FP.point;
		/** @private */ private var _point2:Point = FP.point2;
