Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема обработки функции в цикле (http://www.flasher.ru/forum/showthread.php?t=132819)

veSeliy 20.11.2009 22:00

Проблема обработки функции в цикле
 
Вложений: 1
Всем привет!

Задача простейшая.
Есть 3 кнопки, из инстансов которых объявили массив.
Есть текстовое поле.

Объявлен цикл for, в котором прокручен весь цикл кнопок и объявлена реакция на нажатие кнопки. В зависимости от того, какая кнопка нажата, ее номер выводится в текстовом поле.

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

Столкнулся с этой проблемой и сделал мини-симулятор данной задачи.

При чем интересно то, что подобная тема у меня уже в проектах встречалась, но там вроде сделано все так же и все при этом работает. Может я просто не замечаю какую-то мелочь?
Помогите, пожалуйста, с решением проблемы, все излазил, он решение пока так и не нашел.

Исходник прилагаю (там мало кода).

Заранее спасибо.

mooncar 20.11.2009 22:15

Код AS1/AS2:

var krug:Array = Array();
        krug[1] = k1_mc;
        krug[2] = k2_mc;
        krug[3] = k3_mc;
 
function pusk() {
        mytxt_mc.text = this.num;
}
 
 
for (var k = 1; k <= 3; k++)
{       
        krug[k].num = k;
        krug[k].onRelease = pusk;
}

Добавлено через 2 минуты
Ваша ошибка:
Вот тут:
Код AS1/AS2:

for (var k=1;k<=3;k++)
{
        krug[k].onRelease = function  ()
        {       
                pusk(k);
        }
}

в конце работы цикла k равно 4 и на всех кнопках честно висит
Код:

pusk(4);
Вот тут обсуждалось, почему именно так:
http://www.flasher.ru/forum/showthread.php?t=130126

veSeliy 21.11.2009 17:33

mooncar, спасибо большое.
Буду пробовать.


Часовой пояс GMT +4, время: 14:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.