PDA

Просмотр полной версии : проверка массива


Futs
22.07.2005, 16:05
Что-то туплю, или пятница сказывается. В массиве клипы, проверяем на hitTest если ни один не HIT, то выполняем функцию, а выходит, что функция срабатывает, если хоть один HIT.
for(i in sab_arr){
var hit_sab=sab_arr[i]
if(hit_sab.hitTest(_root._xmouse, _root._ymouse, false)){
hit_sab[i].hit=true
}else if(!hit_sab.hit){
выполняем функцию
}

iNils
22.07.2005, 16:18
for (i in sab_arr) {
var hit_sab = sab_arr[i];
if (hit_sab.hitTest (_root._xmouse, _root._ymouse, false)) {
hit_sab[i].hit = true;
} else if (!hit_sab.hit) {
}
}

получаем
sab_arr[i][i].hit = true;

так ли это?

KidsKilla
22.07.2005, 16:19
for(var i in array) if(array[i].hitTest(_xmouse, _ymouse)) doFunc(); break;

Whatsername
22.07.2005, 16:36
function trackHit(mcArray) {
for (var i = 0; i<mcArray.length; i++) {
if (mcArray[i].hitTest(_root._xmouse, _root._ymouse, false)) {
trace("есть хита");
return;
}
}
trace("нет хитов");
// вызов твоей функции
}
var mcArray = [sq1_mc, sq2_mc];
this.onMouseMove = function() {
this.trackHit(mcArray);
};
iNils, зачем for in перебирать массив?

Futs
22.07.2005, 16:44
2>Whatsername
Спасибо, а я не додумался

iNils
22.07.2005, 16:45
iNils, зачем for in перебирать массив?
У него массив может быть ассоциативным, тогда обойти массив по length не получится.

Futs
22.07.2005, 16:55
нет массив обычный, спасибо

Whatsername
22.07.2005, 18:26
iNils, спасибо за ответ. Я об этом не подумал.