|
|
|||||
Регистрация: May 2004
Сообщений: 55
|
скрипт к кнопке не пашет!
Как сделать, чтобы первый кадр мува проигрывался только при первом обращении к нему,
а в последующих обращениях мув сразу начинался со второго кадра? если конкретнее то так: На первом кадре сцены кнопка (нажатие которой приводит к переходу на второй кадр) и мувик (mov1) с застопоренным первым кадром. при переходе на второй кадр сцены нажатием кнопки находящейся на первом кадре) начинает проигрываться mov2 который на втором кадре и находится. А на кнопке которая находится во втором кадре висит скрипт, который, вроде как, должен перейти на первый кадр и начать проигрывать mov1 со второго кадра, но этого почему-то не происходит. скрипт кнопки на втором кадре такой: on (press) { _root.gotoAndStop(1); _root.mov1.gotoAndPlay(2); } Обе кнопки запиханы в мувик и вынесены насцену (просто так требует ситуация, которую я отделил от всей системы). Помогите ламерюге пожайлуста. Вот исходник: |
|
|||||
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
Такой код не проканывает потому, что ты из кнопки, расположенной во втором фрейме обращаешься к мувику ("mov1") в первом фрейме. В момент выполнения этого кода, флэшка просто не видит этого мувика.
Обойти это можно таким способом:
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) |
|
|||||
Регистрация: May 2004
Сообщений: 55
|
sergwizard благодарю за попытку помочь.
Нельзя ли пояснить принцип действия строк на первом кадре сцены this.onEnterFrame = function() { if (go) { mov1.play(); } }; и что такое "go"? _root.go = true; На сколько я понял скрипт на последнем кадре mov1 возвращает "go" значение false, а скрипт на кнопке во втором кадре возвращает "go" значение true, тем самым при переходе на первый кадр клип mov1 начнет проигрываться, т.к. условие первого кадра выполняется (все, что я понял из этой строчки это, что при условии если go - true то mov1 начинает воспроизводиться). Но, проигрываться он начинает, все таки, с первого кадра, а мне необходимо чтобы первый кадр выводился только при первом обращении к mov1, а все следующие разы не выводился вовсе. Я пробовал эксперементировать, но добиться желаемого эффекта мне не удалось, скорее всего это связано с непониманием вышеизложенного кода. Pleeeeeeeeease help! |
|
|||||
Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
|
go - идти, двигаться.
|
|
|||||
Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
|
"go" - в данном случае, просто переменная, принимающая значения или "true" или "false". И, в зависимости от значения этой переменной, "mov1" или стоит или гуляет.
Ну, если ты хочешь, чтобы он начинал проигрываться обязательно со второго фрейма, напиши в последнем фрейме mov1 так: go = false; gotoAndStop(2); И во втором фрейме опять то же самое: this.onEnterFrame = function() { if (go) { mov1.gotoAndPlay(2); } }; Или, лучше всего, - сделай пустой MovieClip, который на EnterFrame будет проверять значение "go" и управлять клипом "mov1".
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный. (S.Wizard) Последний раз редактировалось sergwizard; 08.06.2004 в 02:50. |
|
|||||
Регистрация: May 2004
Сообщений: 55
|
никак
Ну загнал в темный лес ночью и сказал лови зайца руками.
У меня с экшн скриптом беда, я знаю совсем небольшой набор команд и пытаюсь этими знаниями добиваться желаемого эффекта. Как можно наблюдать на этом примере этих знаний явно маловато, поэтому я и попросил прокоментировать кусок кода. Вот посидел сейчас, потыкался, ниче не понимаю, че к чему, не хотит работать . Плиииииз, если не трудно, на имеющемся исходнике, ткни пальцем, неучу, чего куда воткнуть . |
|
|||||
Регистрация: May 2004
Сообщений: 55
|
все, получилось!
сделал пустой клип и прицепил к нему onClipEvent (load) { if (_root.go) { mov1.gotoAndPlay(2); } } а на втором кадре, в первый кадр mov2 запихал go=true; врое заработало пасиб за совет. |
Часовой пояс GMT +4, время: 10:03. |
|
« Предыдущая тема | Следующая тема » |
|
|