Что я делаю не так? Вот код (ниже описываю проблему)

Код:
class Test {
function getShipFromMap():Object
{
var ship_x:Number = Math.floor(m_mcShip._x / 32);
var ship_y:Number = Math.floor(m_mcShip._y / 32);
return {xShip:ship_x, yShip:ship_y};
}
// Функция перемещения корабля к заданной точке
// map_x, map_y - координаты, куда должен переместиться корабль
function moveShip(map_x:Number, map_y:Number)
{
var oShip:Object = getShipFromMap();
trace(oShip); // тут пишет undefened!!!!!!!
}
// Эту функция мы в итоге вызываем
function gotoCoords(map_x:Number, map_y:Number)
{
m_interval = setInterval(moveShip, m_nSpeed, map_x, map_y);
}
}
Функция getShipFromMap - НЕ вызывается! Почему?