Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   onRelease в цикле... (http://www.flasher.ru/forum/showthread.php?t=60360)

Leo45 07.07.2004 19:21

onRelease в цикле...
 
Народ, такая проблемма:

Нужна вставить посредством attachMovie() 12 инстансов кнопки на сцену, но что-б при нажатии каждый выводил надпись соответствующий его номеру. (Цикл, типа
Код:

for(var i=0; i<12;i++){
  _root['btn'+i].onRelease=function(){
      trace(i)
  }
}

не получается :-(

Что делать?

Елё 07.07.2004 19:26

Код:

for(var i=0; i<12;i++){
  _root['btn'+i].i = i;
  _root['btn'+i].onRelease=function(){
      trace(this.i)
  }
}


Leo45 07.07.2004 19:45

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

Елё 07.07.2004 20:05

если координаты то trace(this._x + ","+this._y)
если переменную которая в кнопке то тоже через this
если переменную которая в руте то trace(_root.var);
все зависит от того какую ты хочешь переменную выдать
У тебя же наверняка trace 12 выдавал - ну так i как раз и имела такое значение на момент нажатия на кнопку

ну ты сам подумай, почему у тебя должен был изначальный код работать?
к тому моменту когда срабатывает код onRelease, переменная i конечно еще не съедена сборщиком мусора, но ее значение уже поменялось... по этому и не работало

Nucer 08.07.2004 00:53

2 Елё А во флэше есть gc?

Елё 08.07.2004 00:58

Наверное :rolleyes: есть...
хотя я не знаю что это ж)

Nucer 09.07.2004 19:05

gc это сборщик мусора (garbage collector). Я имел ввиду собирает ли он мусор непосредственно в процессе работы программы?

Елё 09.07.2004 19:10

Я специально этим никогда не интересовался но попадались топики в которых говорилось что flash-евский сборщик мусора работает "как то странно"
Так что наверное он есть, раз работает...

Iv 09.07.2004 22:00

сборщик мусора есть.
удаляет объекты и данные, если на них не осталось ссылок во флэше.

Nucer 09.07.2004 22:05

Не, ну то что он есть это понятно. В языке такого высокого уровня как AS его не может не быть. Просто интересно когда он удаляет объекты. Во время выполнения программы или после? Просто интересно...


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

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