PDA

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


Dennny
19.10.2002, 15:00
Всё кажется сделал - поле динамического текста сделал, траекторию движения сляпал. В мувик их обьединил.
Задал строку текста, что будет "летать по траектории". Дублирование мувика раставил по кадрам. Исходный мувик сделал невидимым, а дубли делаю видимыми. Но почему-то ничего не работает ... :mad:

Вот основной текст скрипта и сам FLA-файл:

Mytext = "Мама мыла раму";
.....
duplicateMovieClip ("_root.MoveChar","MoveChar" + _CurrentFrame, _CurrentFrame);
eval("_root.MoveChar" + _CurrentFrame)._alpha = 100;
_root.MoveChar.Ch = substring (MyText, _CurrentFrame ,1);

Что не так - подскажите !!! :eek:

fiza
20.10.2002, 04:43
:p
сыро но работает

Dennny
20.10.2002, 14:57
Большое спасибо за пример. Премного благодарен!

Вот только последняя непонятка:

duplicateMovieClip ("_root.MoveChar","MoveChar" + i, i);
- продублировали клип и присвоили имя с порядковым номером буквы - это ясно,

i++; - увеличили счётчик

if(i<=textlength){
gotoAndPlay(2);
} - проверили не вышли ли за конец фразы и если нет то пошли на обработку следующей буквы - это ясно

_root["MoveChar"+i].Ch = substring (MyText, i ,1);
- а вот это то, что в моём выглядело как
"_root.MoveChar.Ch = substring (MyText, _CurrentFrame ,1);" ?

А что означают квадратные скобки после = _root[...] ?
Это обращение к копии поля динамического текста Ch относящегося к дублированному мувику с именем ["MoveChar"+i] ???

Заранее спасибо :D

fiza
20.10.2002, 18:42
квадратные скобки это то же самое что eval
очень удобная штука

А в строчке устанавливаеться значение переменной
ch внутри только что продублированного клипа

Dennny
20.10.2002, 20:45
То есть вопрос мой надо было бы уточнить так -
Все ли относящиеся к мувику символы (бутоны, надписи и прочие обекты в нём используещиеся) дублируются при дублировании мувика функцией DuplicateMovieClip и как следствие получающие свои копии в новом воплощении клипа? И все ли эти обекты можно потом использовать и обрабатывать адресуя через имя новго клипа?

Пример:
_root.<новое имя клипа>.<имя обьекта в старом клипе>

fiza
21.10.2002, 01:07
Оригинал написал(а) Dennny

Все ли относящиеся к мувику символы (бутоны, надписи и прочие обекты в нём используещиеся) дублируются при дублировании мувика функцией DuplicateMovieClip и как следствие получающие свои копии в новом воплощении клипа? И все ли эти обекты можно потом использовать и обрабатывать адресуя через имя новго клипа?

Пример:
_root.<новое имя клипа>.<имя обьекта в старом клипе> [/B]

ответ положительный.

Но! как написано в хелпе:

Variables in the parent movie clip are not copied into the duplicate movie clip.

то есть так работать не будет :

_root.MoveChar.Ch = substring (MyText, i ,1);
duplicateMovieClip ("_root.MoveChar","MoveChar" + i, i);
i++;

Dennny
21.10.2002, 16:22
Примите уважаемый мои благодарности за терпение и доброжелательность.
С Уважением, Денис.