PDA

Просмотр полной версии : Обработка нажатия на MovieClip с переменным именем. Как сделать?


CUrve
25.08.2003, 17:16
Проблема:
Есть несколько мувиков с именами name+i, а именно "dum01", "dum02".... "dum0"+i

Мне надо получить имя мувика, в момент нажатия на него.
Я сделал вот как:

Положил в _root пять мувиков и назвал "dum01", "dum02", "dum03", "dum04", "dum05" и написал вот такой код:

for(j=1; j<5; j++) {
_root["dum0"+j].onRelease = function () {
pres_name = j;
}
}

Получаеться следующее - все работает, но pres_name всегда получаеться равен максимальному "j", в данном случае "5"

Что делать? я наверное чегото очевидного не вижу, подскажите мастера.

Dimonius
25.08.2003, 17:46
Здесь цикл не нужен, т к он всегда тебе это будет выводить.
Лови событие от мыши и хиттест.

CUrve
25.08.2003, 18:12
Оригинал написал(а) Dimonius
Здесь цикл не нужен, т к он всегда тебе это будет выводить.
Лови событие от мыши и хиттест.

Спасибо, но я никогда хит тестом не пользовался. Я написал вот так:
pres_name = _root.dum01.hitTest()

и pres_name все время false.

И я не представляю как в моем случае можно вообще сделать обработку нажатия без цикла. Подскажите?

Dimonius
25.08.2003, 18:28
Я немного не так выразился, просто присвоение в таком цикле нельзя делать.
Т е мы проверяем хиттест с dum+j и если совпадение true, то тогда только присваиваем значение переменной.

Techmaker
25.08.2003, 18:37
for(j=1; j<5; j++) {
_root["dum0"+j].press_name=j
_root["dum0"+j].onRelease=function () {trace(this.press_name)}
}

CUrve
25.08.2003, 19:16
Оригинал написал(а) Techmaker
for(j=1; j<5; j++) {
_root["dum0"+j].press_name=j
_root["dum0"+j].onRelease=function () {trace(this.press_name)}
}

Спасибо, работает.