Форум 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)
-   -   onRelease для каждого мувика (http://www.flasher.ru/forum/showthread.php?t=115822)

sir_URLik 11.09.2008 16:14

onRelease для каждого мувика
 
делаю в цикле (по переменной skip) вот так:
Код:

var dayBox_mc = calendar_mc.createEmptyMovieClip("calendar" + skip + "_mc", 400 + skip);
var dayBox_txt = dayBox_mc.createTextField("day" + skip + "_txt", 400 + skip + 50, j * boxWidth + 5, i * boxHeight + this.title_mc.month_txt._height + 5, boxWidth, boxHeight);
dayBox_txt.setNewTextFormat(this.title_tf);
dayBox_txt.text = skip;
dayBox_mc.onRelease = function () {
    var base = this._parent._parent;
    base.$drawCalendar(dayBox_mc.dayBox_txt.text, 2);
}

но в функции dayBox_mc.dayBox_txt.text всегда равно последнему значению из цикла. Как сделать, чтобы для каздого мувика было свое?

MrPoma 11.09.2008 16:43

Код:

dayBox_txt.skip = skip;

sir_URLik 11.09.2008 16:50

Цитата:

Сообщение от MrPoma (Сообщение 763752)
Код:

dayBox_txt.skip = skip;

Да, пробовал так. В skip записывается нужное число. Но функция вызывается только в момент нажатия мыши и поэтому там всегда последнее значение :(

Волгоградец 11.09.2008 17:27

Сдается мне
Код:

dayBox_mc.dayBox_txt
вообще выдаст undefined.
А вообще, вот эта строка
Код:

var dayBox_txt = dayBox_mc.createTextField
в цикле переписывает переменную dayBox_txt каждый раз, когда вызывается и соответственно при обращении к ней эта переменная явлеется той, которую создали последний раз.
Код:

for (var skip:Number = 0; skip < 5; skip ++){
        this["dayBox_mc"+skip] = this.createEmptyMovieClip("calendar" + skip + "_mc", 400 + skip);
        var dayBox_txt = this["dayBox_mc"+skip].createTextField("day_txt", 400 + skip + 50, skip * boxWidth + 5, skip * boxHeight + 5, boxWidth, boxHeight);
        dayBox_txt.border = true;
        dayBox_txt.text = skip;
        this["dayBox_mc"+skip].onRelease = function () {
                trace(this.day_txt.text)
        }
}


sir_URLik 11.09.2008 18:07

Точно! Получилось! Спасибо!


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

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