Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Прошу помочь всех,кто разбирается с eval (http://www.flasher.ru/forum/showthread.php?t=47156)

Gar 23.07.2003 17:01

Прошу помочь всех,кто разбирается с eval
 
Уже неделю мучаюсь с eval. Просмотрел все хелпы и примеры, ничего нужного не нашел. Прошу помочь!
Вот последовательность действий.

1) Дублирую мувик.

duplicateMovieClip(_root.clip, eval(_root.clip._name+i.toString()), i);

2) Теперь мне надо чтобы дублированый мувик gotoAndStop на второй свой кадр.
Пробовал двумя способами, оба не работают:
первый:
tellTarget(eval(_root.clip._name+i.toString())) {gotoAndStop(2);}

второй:
eval(_root.clip._name+i.toString()).gotoAndStop(2);

Armen Khanoyants 23.07.2003 18:44

используй this["name"+i], это тоже что и this.eval("name"+i)
ну и соответственно _root[....], _parent[....]

derhab 23.07.2003 19:17

если с eval, то записывай так:

duplicateMovieClip(_root.clip, "clip"+i, i);
eval("clip"+i).gotoAndStop(2);

очень просто

Lukasus 23.07.2003 19:22

сделай своей конструкции
trace (eval(_root.clip._name+i.toString()))
чего там показывает? то что потом вызываешь?

Gar 23.07.2003 21:51

Спасибо за отклик!
Извиняюсь за то, что долго не отвечал - инет кончился.
Написал trace, но он выдает

undefined


Создать он его не успевает, что ли?

Gar 23.07.2003 22:04

Имя клипа - "clip"
Попробовал написать
trace(this._name+i.toString());
Он выдает только "clip", без цифры, если без toString() - то же самое.

Если написать:
trace(eval(this._name+i.toString()));
То опять получаю undefined. Точно так же, если пишу без toString().

Gar 23.07.2003 22:20

Вложений: 1
Имя клипа - "clip"
Попробовал написать
trace(this._name+i.toString());
Он выдает только "clip", без цифры, если без toString() - то же самое.

Если написать:
trace(eval(this._name+i.toString()));
То опять получаю undefined. Точно так же, если пишу без toString().

Пожалуйста, помогите снова - подсказанные вами методы не сработали, может, дело не в вызове.

Вот исходник - в нем я все сильно упростил, чтобы скинуть размер, однако и он не хочет работать.

Useless 23.07.2003 23:51

Слушай, ты хелп вообще читал, прежде чем браться за дело?
Код:

duplicateMovieClip(_root.clip, eval(_root.clip._name+i.toString()), i);
Зачем тебе здесь-то нужен евал?
У duplicateMovieClip() второй параметр - строка, евал же возвращает объект.

Я нифига не понял, чего ты вообще добиваешься, но обычно подобный код выглядит так:
Код:

name = "clip" + i;
duplicateMovieClip(_root.mc, name, i);
eval(name).gotoAndStop(2);

Но лучше для начала расскажи, какой эффект ты рассчитываешь получить от своего кода?

Lukasus 24.07.2003 11:32

просто сделай что сказал derhab

duplicateMovieClip(_root.clip, "clip"+i, i);
eval("clip"+i).gotoAndStop(2);

очень просто


так как у тебя клип называется "clip"
то это уже готовое решение для тебя :D

Gar 24.07.2003 12:54

Читая хелп и смотря исходники я не раз пытался применить все эти способы. Однако если вы попробуете любой из них вписать в представленный мной файл, то скорее всего ничего не выйдет. Я уже не раз пытался.

Добиться я хочу того, чтобы можно было брать прямоугольный мувик мышкой, перетаскивать его на нужное место и ставить там. Точнее, ставится его копия, причем копию надо перевести во второй кадр.

Вот такая картина. Кто сможет, пожалуйста выложте исходник.


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

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