Xpoint
   [напомнить пароль]

Создать MovieClip с разными действиями

Метки: [без меток]
2009-10-02 17:39:40 [обр] Djoin[досье]

Здравствуйте. Помогите мне пожалуйста разобраться.. пишу такой код:

for (var i = 0; i<len; i++) {
      
      var moviebut:MovieClip = this.createEmptyMovieClip("but_img"+i, this.getNextHighestDepth());
  moviebut.createEmptyMovieClip('image', 1);
  moviebut._x = 200;
  moviebut._y = 27*(i+1);
  moviebut.image.loadMovie("search.jpg");
  moviebut.onRelease = function() {
    trace('click'+i); 
    this._parent.removeMovieClip();
  }
}

Хочу чтобы выводило:
click0
click1
click2
click3
click4

...

А выводит при нажатии на любой клип
click4

Что я делаю не так? Помогите...

спустя 4 дня [обр] Алексей В. Иванов(276/2861)[досье]
Всё так, но ссылаетесь на переменную одну и ту же.
Запишите так:
moviebut.i = i;
moviebut.onRelease = function() {
    trace('click' + this.i); 
    this._parent.removeMovieClip();
}
спустя 19 часов [обр] GRAy(0/259)[досье]
Алексей В. Иванов[досье] Честно говоря я не понимаю этого шаманства. Разве во флеше замыкания не работают или работают как-то по-другому?
спустя 47 минут [обр] GRAy(0/259)[досье]
А хотя... как раз это и есть нормальная работа замыканий. Создаёт контекст со ссылкой на i, а когда функция выполняется по этой ссылке лежит только последнее значение. Интересно, а можно каким-либо образом указать чтобы переменная использовалась "по значению" при создании фукции?
Powered by POEM™ Engine Copyright © 2002-2005