PDA

Просмотр полной версии : Почему в классе не вызываются функции?


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

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 - НЕ вызывается! Почему?

BigDan
11.07.2007, 00:43
потому что m_mcShip вне области видимости для этой функции
и вообще откуда берётся этот клип?

etc
11.07.2007, 09:05
m_interval = setInterval(this, 'moveShip', m_nSpeed, map_x, map_y);

DissDoc
11.07.2007, 12:05
потому что m_mcShip вне области видимости для этой функции
и вообще откуда берётся этот клип?
Я сократил класс для того, чтобы не грузить ваш лишней информацией!!!

__etc, вроде заработало! Не знал, что так можно =]