PDA

Просмотр полной версии : Пропала...


Magic Wand
11.11.2002, 20:28
Помогите в ерунде разобратся.
Описываю вопрос. У меня есть две кнопки. Они обе запускают один и тот же мувик. Есть переменная N к которой первая кнопка присваивает, допустим 1, а вторая 2. Мувик который они запускают должен посмотреть на содержание переменной и соответствующе отреагировать. Блин но она пропадает. Трасирую при присвоении — все есть 1 .... 2 ... трасирую после перехода на другой мувик ее нет.

Пример

//первая кнопка//
on (release) {
m = 1;
rout.gotoAndPlay(2);
}

//мувик "rout"//

if (m == 2) {
tellTarget ("tim") {
tim.gotoAndPlay(2);
} else if (m == 1) {
tellTarget ("tom") {
tom.gotoAndPlay(2);
}
}

Блин ну она не доживает до определения?!! Это конечно первое что я пишу в скриптах, но просто не логично как-то.
Заранее спасибо!

sergwizard
12.11.2002, 00:00
Ну, во-первых, непонятна структура твоего мувика. Что и куда вложено?
Во-вторых, зачем писать
tellTarget ("tim"){
tim.gotoAnd….. ?
Надо или
tellTarget("tim"){
gotoAnd…… ,
или
_root.rout.tim.gotoAnd……,
В-третьих, переменная "m" – она переменная только для _root. А для клипа "rout" она уже - _root.m
Вот и ставь условие:
If(_root.m ==2) {
………

Joey N.
15.11.2002, 13:07
Дополню...
НИКОГДА не пиши tellTarget - кривая и глючная функция! Её даже сами разработчики не любят. Намного лучше юзать адреса (через точку которые)

NikitON
15.11.2002, 13:21
Действительно, TellTarget - отстой, отличная замена - with
допустим
with ("tim"){gotoAndPlay(2);}...

lexass
15.11.2002, 13:58
Оригинал написал(а) Joey N.
Дополню...
НИКОГДА не пиши tellTarget - кривая и глючная функция! Её даже сами разработчики не любят. Намного лучше юзать адреса (через точку которые)

вранье
просто она устаревшая. :p
и когда-то кроме нее ничего вааще небыло :cool:

ЗЫ
но к использованию не призываю :cool:

Nox Noctis
15.11.2002, 22:45
Оригинал написал(а) Joey N.
НИКОГДА не пиши tellTarget - кривая и глючная функция!
Оригинал написал(а) NikitON
Действительно, TellTarget - отстой, отличная замена - with
допустим
with ("tim"){gotoAndPlay(2);}...

...слова людей, которые совсем не разбираются в сути ! :mad:

2Joey N.
стыдно, товарищ...

теллТаргет - САМЫЙ БЫСТРЫЙ СПОСОБ обращения к клипу.
это не предположение - это медицинский факт.
такое обращение работает примерно в двадцать раз быстрее обращение через точку.
НО это не значит, что везде нужно писать теллТаргет - его нужно писать только там, где одинаковых обращений через точку очень много, а скорость очень критична для работы программы...
в обычных случаях через точку короче и удобнее (да, так медленнее, но все равно не настолько, чтобы об этом заботиться всегда ).
чтобы не говорить таких глупостей можно прочитать методы оптимизации байткодов http://flasm.sourceforge.net/

2NikitON
это не теллТаргет отстой - а программисты, которые не умеют пользоваться скриптами...
with - самый (САМЫЙ) тормозной способ обращения. особенно когда речь идет о клипе (ведь with может использоваться с любым типом объектов)
к тому же есть принципиальные различия в работе with () и tellTarget() - это совсем не одно и то же... совсем-совсем...

Joey N.
16.11.2002, 18:35
В одной из книжек по Флэшу было написано о том, что разработчики сами не очень-то любят тэллТаргет. Хоть он и самый быстрый, но у меня самого возникали с ним проблемы. Может флэшка, конечно, криволоманая, но сколько я ни перепихивал и не переименовывал мувик и сколько не переписывал после этого скрипт, желаемое не выполнялось. Это конечно очень редкий случай да и было это еще на четверке, но факт есть факт.

Nox Noctis
16.11.2002, 19:26
Оригинал написал(а) Joey N.
сколько не переписывал после этого скрипт, желаемое не выполнялосьэто тут не при чем... :D

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

>> разработчики сами не очень-то любят тэллТаргет
глупости в той книжке написаны. однозначно.
кто просит разработчиков "любить" этот оператор ? а ? :D :D
надо просто знать когда и как его хорошо использовать, а когда он вовсе не нужен и мешает...

Magic Wand
19.11.2002, 15:32
Спасибо огромное уважаемые, за подробное объяснение ...
Чего даже не ожидал. Со всеми проблемами разобрался. Теперь страдаю от чего и все начинающие флешеры, наверное — изначально запутанной структуры. Теперь-то понимаю, что в клипе должен быть порядок тогда и голове прще и рукам соответственно. :)

Special Thanks to:

Nox Noctis - за идеологическую защиту tell target ()
sergwizard - помощь с переменной.

Joey N.
20.11.2002, 20:09
это тут не при чем... :D
чё ржешь-то?.. :(
target not foud!!!

Да я и не говорю, что это закономерность

ладно, дурацкая тема - не стоит спорить о ней

Nox Noctis
20.11.2002, 20:28
ты не ругайся а выложи этот пример где у тебя теллТаргет не работал...

вот и посмотрим, что не так... :)

Joey N.
20.11.2002, 20:33
дело-то давно было - 4 Флэшь, а сейчас я на МХ работаю. Я эти примеры переписал уже на dot Syntax. Если еще проблемы еще возникнут, я в отдельном вопросе всё расскажу