![]() |
|
||||||||||
|
|||||
|
Помогите разобраться с функтион. Дело в том, что у меня есть в основном таймлайне несколько переменных, значения которых зависят он положения ручек (считай кнопок) и функция должна постоянно значения этих переменных проверять, для чего вызывается постоянно (так как в основном таймлайне, то я ее вызываю переходом на предидущий кадр ) Так вот один раз она срабатывает, а на все последующие изменения переменных не реагирует.
Пра-а-а-блема! Помогите! Зарание спасибо. P.S. сама функция находится в первом кадре основного таймлайна и вызывается тоже из разных кадров основного таймлайна. |
|
|||||
|
Регистрация: Nov 2000
Адрес: Екатеринбург
Сообщений: 589
|
Это скорее из-за того, что происходит что-то вроде переопределения функции с каждым тактом. Замечал такое дело.
Можно оставить этот первый фрейм в покое и делать цикл в последующих (скажем второй и третий) Путь первый будет как инициализационный и для объявления функции. Так грамотнее.
__________________
учебники по флэш и 3D и исходники флэш-игрhttp://animbook.mirmap.com http://mirmap.com |
|
|||||
|
Да нет, сама функция находится в первом кадре и больше фильм туда не переходит. Функция вызывается из разных мест многократно. Но не через цикл, а так:
frame 1 function My() - обЪявление функции frame 5: My(), goto next -вызывание функции, переход на6 frame 6: goto prev -переход на 5 frame 15: My(), goto next frame 16: goto prev Наверное это неправильно, но как еще можно отслеживать изменения значений переменных в шкале основного таймлайна постоянно и из разных мест? |
|
|||||
|
Зачем тебе все время контролировать? У тебя изменения происходят по событиям "ручек (считай кнопок) "? Так туда и навесь свой обработчик. Еще и проц разгрузишь от дурной работы.
__________________
Без труда не выловишь и fish-ку из пруда! |
|
|||||
|
я чего-то не понял
, как вообще может что-то работать если ты в 6 кадре делаешь возврат в пятый и т.д. ??ессно функция будет вызываться с одними и теми-же аргументами (они все же есть наверное). |
|
|||||
|
Ситуация не такая простая. Вообще мне нужно смоделировать
работу передатчика - прибора, где множество ручек на разных блоках. Ручки по виду одинаковые, а по работе разные: одни поворачиваются плавно, другие дискретно, но на разное количество положений, одни ручки блокируют работу других. Вот я и решил сделать раз и на всегда одну ручку, у которой параметры задаются через define clip parametrs. Сделал. Каждая ручка создает в основном таймлайне переменные с значениями. От комбинации этих переменных зависит работа передатчика. Можно конечно вызывать функцию из ручек. Но получится как: При нажатии на ручку функция проверяет, может ли она вообще поворачиваться. Затем, если можно, ручка поворачивается. Функция меняет значения переменных. И вот тут проблема: Дело в том, что у меня на экране весь передатчик с маленькими ручками и отдельно один из блоков передатчика с теми же ручками, но крупно. При при повороте крупных ручек должны поворачиваться мелкие. Но ведь для мелких ручек событие - только при нажатии. Не цельно как то получается. Мне нужно, чтобы все действия решались одним UI - функцией. Но плана как это организовать нет. Затем и обращаюсь к опытным флешерам. |
|
|||||
|
Регистрация: Sep 2001
Адрес: Минск, РБ
Сообщений: 106
|
Нормально отслеживать переменные можно только из события EnterFrame
Поэтому если это не нужно для анимации старайся чтобы было поменьше gotoAndPlay во фреймах, а все управление и переходы переноси в обработчик этого события. Если ты пытаешься всем управлять из одной функции то логично и вызывать ее из одного места. |
|
|||||
|
>>Нормально отслеживать переменные можно только из >>события EnterFrame
>>Поэтому если это не нужно для анимации старайся чтобы >>было поменьше >>gotoAndPlay во фреймах, а все управление и переходы >>переноси в обработчик этого события. Как событие может быть EnterFrame, но если проверка должна происходить постоянно, то на этот кадр надо постоянно переходить, а чем переходить если не gotoAndPlay? >>Если ты пытаешься всем управлять из одной функции то >>логично и вызывать ее из одного места. Из одного места вызывать не получится (в приборе несколько разных блоков и, соответственно они у меня в разных кадрах) А чем черевато вызывать функцию из разных мест? Ребята, а можно я кому-нибудь исходник кину? Заодно посмотрите на реализацию функции "ручки"- она у меня "умная" |
|
|||||
|
Регистрация: Sep 2001
Адрес: Минск, РБ
Сообщений: 106
|
Ну вот опять поиск легких путей, вместо того чтобы самому разобраться,
Дело в том что во флеше "Стоп - это плей, а готу это стоп" - поясняю, Если мувик находится в состоянии стоп то событие EnterFrame вызывается с той частотой fps с которой у тебя заказана анимация - ну загляни ты сюда: http://www.flasher.ru/forum/showthre...threadid=21365 |
|
|||||
|
виртуальное земноводное
|
Слуш, положи исходник, нифика не понятно
Пакни в зип и зааттач в мессадж, там внизу фича такая есь "Вложить файл"
__________________
Дешевый критикан |
![]() |
Часовой пояс GMT +4, время: 15:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|