Просмотр полной версии : Действие по событию
Скажите, пожалуйста, как сделать, чтобы действие (например, gotoAndPlay) происходило при окончании загрузки клипа в таргет (loadMovie)?
Т.е. клип грузится определенное время в таргет (например "target1", при чем загрузка клипа происходит при нажатии кнопки). Когда он полностью загрузился, происходит действие (gotoAndPlay).
Как это можно сделать?
nOobCrafter
24.02.2009, 19:19
использовать мувиклиплоадер и по событию onLoadInit запускать действие.
hmc = createEmptyMovieClip("holder_mc", this.getNextHighestDepth()); // создаем мувик-контейнер
// Создаем слушатель чтоб наблюдать за загрузкой
var loaderListener:Object = new Object();
loaderListener.onLoadInit = function(mc:MovieClip) // когда загрузка завершена
{
trace("Приехали..");
}
////// Загружем в мувик контейнер
var imageLoader:MovieClipLoader = new MovieClipLoader();
imageLoader.addListener(loaderListener);
imageLoader.loadClip("Menu.swf", hmc); // грузим что то куда то...
}
Не совсем понял. А как прописать событие после загрузки? Например gotoAndPlay?
И как привязать к кнопке загрузку клипа?
Можно ли использовать загрузку
on (release) {
loadMovie("somemovie.swf", "container1");
}
и отталкиваться от нее?
Fatality
24.02.2009, 20:56
loadMovie давно и безнанадежно устарел, как впрочем и написание кода в кнопках. Для полноценного контроля загрузки - используйте класс MovieClipLoader, как сказал nOobCrafter. Событию onLoadInit вы можете назначить функцию, которая будет выполняться по окончанию загрузки.
nOobCrafter
25.02.2009, 18:25
вместо trace пишешь что хочешь..
Вы не могли бы объяснить на примере, как использовать этот код, если не очень затруднит? Я не разбираюсь в АS. Если можно, пошагово (Куда вписывать какой код). Нужно ли создавать holder_mc или AS сам его создаст?
Где находится точка отсчета координат клипа, который мы грузим с помощью этого кода
hmc = createEmptyMovieClip("holder_mc", this.getNextHighestDepth()); // создаем мувик-контейнер
// Создаем слушатель чтоб наблюдать за загрузкой
var loaderListener:Object = new Object();
loaderListener.onLoadInit = function(mc:MovieClip) // когда загрузка завершена
{
trace("Приехали..");
}
////// Загружем в мувик контейнер
var imageLoader:MovieClipLoader = new MovieClipLoader();
imageLoader.addListener(loaderListener);
imageLoader.loadClip("Menu.swf", hmc); // грузим что то куда то...
}
Ато он у меня как-то косо подгружается (но если разворачиваю - становится по середине). Могу ли я его грузить в существующий клип, который буду компоновать на странице?
спасибо
Добавлено через 21 минуту
loadMovie давно и безнанадежно устарел, как впрочем и написание кода в кнопках.
Вы не могли бы мне показать пример, как не писать код в кнопках, а использовать современные методы? :umnik2:
Буду очень признателен
lexa2000lexa
04.03.2009, 12:11
Вот тут почитайте там все подробно расписаноhttp://flasher.ru/forum/showthread.php?t=120227&highlight=MovieClipLoader
nOobCrafter
04.03.2009, 13:27
hmc = createEmptyMovieClip("holder_mc", this.getNextHighestDepth()); // создаем мувик-контейнер, в него будем грузить фотку, грузить можно в любой другой клип
// Создаем слушатель чтоб наблюдать за загрузкой
var loaderListener:Object = new Object();
loaderListener.onLoadInit = function(mc:MovieClip) // когда загрузка завершена
{
trace("Приехали..");
mc._x = (Stage.width - mc._width) / 2; // ставим клип по центру
mc._y = (Stage.height - mc._height) / 2;
// тут уже клип загружен и мы можем его центрировать как хотим так же имеем доступ к его параметрам (ширина\высота)
}
////// Загружем в мувик контейнер
var imageLoader:MovieClipLoader = new MovieClipLoader();
imageLoader.addListener(loaderListener);
imageLoader.loadClip("Menu.swf", hmc); // грузим файл - "Menu.swf", в клип hmc
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.