Просмотр полной версии : скрипт к кнопке не пашет!
Как сделать, чтобы первый кадр мува проигрывался только при первом обращении к нему,
а в последующих обращениях мув сразу начинался со второго кадра?
если конкретнее то так:
На первом кадре сцены кнопка (нажатие которой приводит к переходу на второй кадр) и мувик (mov1) с застопоренным
первым кадром. при переходе на второй кадр сцены нажатием кнопки находящейся на первом кадре) начинает проигрываться mov2 который на втором кадре и находится. А на кнопке которая находится во втором кадре висит скрипт, который, вроде как, должен перейти на первый кадр и начать проигрывать mov1 со второго кадра, но этого почему-то не происходит. :confused:
скрипт кнопки на втором кадре такой:
on (press) {
_root.gotoAndStop(1);
_root.mov1.gotoAndPlay(2);
}
Обе кнопки запиханы в мувик и вынесены насцену (просто так требует ситуация, которую я отделил от всей системы).
Помогите ламерюге пожайлуста.
Вот исходник:
sergwizard
07.06.2004, 18:18
on (press) {
_root.gotoAndStop(1);
_root.mov1.gotoAndPlay(2);
}
Такой код не проканывает потому, что ты из кнопки, расположенной во втором фрейме обращаешься к мувику ("mov1") в первом фрейме. В момент выполнения этого кода, флэшка просто не видит этого мувика.
Обойти это можно таким способом:
sergwizard благодарю за попытку помочь.
Нельзя ли пояснить принцип действия строк на первом кадре сцены
this.onEnterFrame = function() {
if (go) {
mov1.play();
}
};
и что такое "go"?
_root.go = true;
На сколько я понял скрипт на последнем кадре mov1 возвращает "go" значение false,
а скрипт на кнопке во втором кадре возвращает "go" значение true, тем самым при переходе
на первый кадр клип mov1 начнет проигрываться, т.к. условие первого кадра выполняется (все, что я понял из этой строчки
это, что при условии если go - true то mov1 начинает воспроизводиться).
Но, проигрываться он начинает, все таки, с первого кадра, а мне необходимо чтобы первый кадр выводился
только при первом обращении к mov1, а все следующие разы не выводился вовсе.
Я пробовал эксперементировать, но добиться желаемого эффекта мне не удалось, скорее всего это связано с непониманием вышеизложенного кода. Pleeeeeeeeease help!
sergwizard
08.06.2004, 02:47
"go" - в данном случае, просто переменная, принимающая значения или "true" или "false". И, в зависимости от значения этой переменной, "mov1" или стоит или гуляет.
Ну, если ты хочешь, чтобы он начинал проигрываться обязательно со второго фрейма, напиши в последнем фрейме mov1 так: go = false; gotoAndStop(2);
И во втором фрейме опять то же самое:
this.onEnterFrame = function() {
if (go) {
mov1.gotoAndPlay(2);
}
};
Или, лучше всего, - сделай пустой MovieClip, который на EnterFrame будет проверять значение "go" и управлять клипом "mov1".
Ну загнал в темный лес ночью и сказал лови зайца руками.
У меня с экшн скриптом беда, я знаю совсем небольшой набор команд и пытаюсь этими знаниями добиваться желаемого эффекта. Как можно наблюдать на этом примере этих знаний явно маловато, поэтому я и попросил прокоментировать кусок кода. Вот посидел сейчас, потыкался, ниче не понимаю, че к чему, не хотит работать :confused: .
Плиииииз, если не трудно, на имеющемся исходнике, ткни пальцем, неучу, чего куда воткнуть :rolleyes: .
все, получилось! :)
сделал пустой клип и прицепил к нему
onClipEvent (load) {
if (_root.go) {
mov1.gotoAndPlay(2);
}
}
а на втором кадре, в первый кадр mov2 запихал
go=true;
врое заработало :)
пасиб за совет.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.