Прочитал тему ту тему, не очень понял про то как проверить успевают ли переменные иницилизироваться...
Если можно поподробней.
Удалил пост с не очень правильным кодом.
Вот я переписал.
Класс ship

Код AS1/AS2:
public var hitPoints:Array;
public var i;
function onLoad()
{
var hitPoints = new Array();
hitPoints.push({x:1, y:30});
hitPoints.push({x:30, y:1});
hitPoints.push({x:30, y:30});
hitPoints.push({x:1, y:1});
}
Класс border

Код AS1/AS2:
if (this.hitTest(_root.ship._x+_root.ship.hitPoints[i].x, _root.ship._y+_root.ship.hitPoints[i].y, true))
{
trace("hit");
}
А вот шейпфлег с одной точкой работает

Код AS1/AS2:
if (this.hitTest(_root.ship._x+1, _root.ship._y+1, true))
{
trace("hit");
}
Добавлено через 11 минут
Добавил в екшнскрипт кадра код который ты предложил для проверки, трейсом вывелось
Before > undefined
если честно я не очень улавливаю суть.