Форум 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=207186)

Nikepn911 30.03.2014 12:36

Подстановка переменных вместо имени элемента
 
Недавно столкнулся с одной проблемой, суть проблемы - что бы за место статического текста в коде подставлять значение переменной, значение которой меняется. У меня есть 100 мовиклипов на кадре, к каждому из которых прописано свое имя, имя задается от "cell00-cell99". В коде в зависимости от двух переменных - "cell" и "row" выбирается 1 из 100 мовиклипов и применяется к нему функция.
Это реализовано быдло-кодерством, с помощью кучи if, что меня не устраивает. Вот этот код:
Код AS1/AS2:

if(row == 0){
        if(cell == 0){cell00.gotoAndStop(3);}
        if(cell == 1){cell01.gotoAndStop(3);}
        if(cell == 2){cell02.gotoAndStop(3);}
        if(cell == 3){cell03.gotoAndStop(3);}
        if(cell == 4){cell04.gotoAndStop(3);}
        if(cell == 5){cell05.gotoAndStop(3);}
        if(cell == 6){cell06.gotoAndStop(3);}
        if(cell == 7){cell07.gotoAndStop(3);}
        if(cell == 8){cell08.gotoAndStop(3);}
        if(cell == 9){cell09.gotoAndStop(3);}
}

...........и таких еще if еще 10 штук

Хотя по логике можно было бы сделать просто в 2 строчки кода так, но у меня это не работает:
Код AS1/AS2:

name_cell = "cell" + row + "" + cell;
name_cell.gotoAndStop(3);

То есть задать переменную в которой задается имя ячейки, и которая подставляла бы свое значение для применения функции gotoAndStop(3)
Но как я понял он не работает из-за того, что при компиляции этого кода программа думает, что я ей подставляю имя "name_cell" и она ищет его на кадре, а я хочу что бы она подставлял значение этой переменной, помогите пожалуйста ребят, мучаюсь 2 день уже.

Zebestov 30.03.2014 16:30

Только код у нас принято оформлять код соответствующими тегами (кнопка AS в панели редактора сообщений).

Hauts 30.03.2014 16:34

Код AS1/AS2:

this["cell" + row + cell].gotoAndStop(3);

Но проще и лучше записывать ссылки на клетки в массив, в момент создания клеток.

Nikepn911 30.03.2014 21:51

Спасибо за помощь большое :)

mooncar 30.03.2014 22:47

Nikepn911, это хорошо, что вам помогли, но код вы не оформили, несмотря на замечание модератора.

Nikepn911 01.04.2014 00:38

Теперь исправил, простите за неправильное оформление, на форуме писал первый раз - не знал.


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

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