Доброго времени суток. Столкнулся с проблемой не подсильной моему мозгу %) Делаю тесты по английскому, упражнение — есть список слов и из них надо верно составить предложение. Для этого элементы-слова тягаем на определенные места. Если постали слово верно, то место красится в зеленый цвет, если неверно то в красный, если не поставили вобще то место остается серым (все проверяю хиттестом). С последним пунктом и есть проблемы.
Как корректно узнать те елементы на которых нет слов? Вот кусок кода из исходника:

Код AS1/AS2:
///////////////////------------------------------------- Именно эта функция ключевая
function check_btn() // функция срабатывает по релизу кнопы
{
for (var i = 0; i < this._parent.l; i++) // перебираем элементы-слова
{
var mov:MovieClip = this._parent["mov" + i]; // этот обьект мы тягаем (элемент-слово)
var place_col:Color = new Color(this._parent["place" + i]);
place_col.setRGB(0xCCCCCC); // перед каждой проверкой цвет области сбрасываем на дефолтный "серый"
for (var j = 0; j < this._parent.l; j++) // для каждого элемента-слова делаем проверку на то контачит ли он с какой либо "областью"
{
var place:MovieClip = this._parent["place" + j]; // эти обьекты статичны и на них мы по идее должны навести обьекты "mov"
if (mov.hitTest(place)) // если есть контакт
{
var place_color:Color = new Color(place);
if (place.i == mov.i) // и притом нужное слово навели на нужную область то все ок
{ // красим область в зеленый цвет
place_color.setRGB(0x99CC00); // my_mc turns red #CCCCCC - grey, #99CC00 - green, #FF0000 - red
trace("right")
mov._parent.right++
if (mov._parent.right == mov._parent.l) // все кол-во совпадений равно кол-ву элементов то вообще все верно
{
trace("All done")
}
//break;
} else { // если есть наведение, но область не верная
place_color.setRGB(0xFF0000); // красим область в красный цвет
trace("mistake")
mov._parent.right = 0;
}
}
}
}
}
З.Ы. трейсы отрабатываются просто замечательно.
Вот исхоник и пример: