Взаимодействие между двумя Flash роликами
Взаимодействие между Flash роликами, вызов JavaScript из Flash. Использование JS ActiveX функций для управления Flash роликом
Пусть у нас имеется два Flash ролика на одной html странице. Первый - это часы, второй - просто выполняет действие, к примеру насос.
При нажатии на html кнопку необходимо запустить часы, когда стрелка дойдет до какого-то отрезка остановить их, остановить прогресс.
Повторно нажав на html кнопку вернуть все в исходное состояние и повторить процесс.
Ролик с часами и ролик с насосом. Если нажать на стрелку, то часы начнут идти, после некоторого времени стрелка остановится. Насос начнет двигаться при нажатии на его шапку.
При нажатии на кнопку Start вызовем функцию playmovie(), которая запустит оба наших Flash ролика:
function playmovie() {
if (movieIsLoaded(thisMovie(movieName))) {
thisMovie(movieName).Play();
thisMovie(movieName2).GotoFrame(1);
thisMovie(movieName2).Play();
}
}
Более подробную информацию о функциях, работающих с flash контентом можно посмотреть здесь - http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html
В ролике с часами, когда значение счетчика дойдет до 50, вызовем JavaScript функцию stopmovie():
function stopmovie() {
if (movieIsLoaded(thisMovie(movieName2))) {
thisMovie(movieName2).TStopPlay("/t");
}
}
Из флеша скрипт вызовем при помощи getURL("javascript:stopmovie()");
Эта функция остановит клип во флеш ролике с насосом.
Пример смотреть тут, исходники - jsflash.zip
В данном уроке использован ActionScript 2.0, при использовании ActionScript 3.0 все остается таким же, только вместо getURL() следует использовать navigateToURL() из ActionScript 3.0



Comments ( posted):
Post your comment