Просмотр полной версии : Как закрыть ролик в ActionScript
Здравтсвуйте. Подскажите пожалуйста Как закрыть ролик в ActionScript. У меня есть основной ролик и в него подгружаются другие ролики, так вот, в подгружаемых роликах есть кнопка закрыть, нужно чтобы при нажатии этой кнопки, ролик закрывался.
Если задал глупый вопрос прошу прощения.
Добавлено через 7 минут
Написал вот такой код, и что-то не помогает
close_btn.onRelease = function(){
fscommand("quit", true);
};
franchesko
31.05.2010, 18:45
fscommand("quit"); попробуй уже в скомпилированном файле проверить а не из флеша
Получилось, но теперь он закрывает оба ролика а надо чтобы только подгружаемый.
Кнопка с кодом находится на подгружаемом ролике, а закрывается все. Подгружаю вот таким кодом
loadMovieNum("d39.swf", 1);
Добавлено через 1 минуту
конечно можно сделать проще и просто поставить visible false но хочется чтобы было все правильно
unloadMovie()
Выгружайте ролик, и все.
Да но проблема в том, что требуется чтобы подгружаемый ролик закрывался при нажатии на кнопку, а таких более 300 штук((, тоесть было бы не плохо чтобы с каждым роликом шла кнопка закрытия самой себя.
Ну сделайте в основном ролике контейнер, в который будете загружать ролики. В нем будет:
1) непосредственно контейнер для загрузки, например с именем cont
2) кнопку для закрытия. На кнопку повесьте команду "закрытия", а точнее, сокрытия:
close_btn.onRelease = function() {
cont._visible = false ;
}
И сделайте все-таки загрузку с помощью MovieClipLoader, а то loadMovieNum - это бардак.
Я так понял, что другого решения этой ситуации нет. Спасибо большое всем, сделаю тогда как написанно в предыдущем посте.
Кстати, можно еще так. Если создавать контейнеры для загрузки на лету, через createEmptyMovieClip и при этом после "закрытия" возврат к ним не предполагается, то можно просто совсем удалять со сцены - removeMovieClip();
то есть я создаю контейнер
var container:MovieClip = this.createEmptyMovieClip("test", this.getNextHighestDepth());
а дальше как, что-то не пойму?
var container:MovieClip = this.createEmptyMovieClip('test', this.getNextHighestDepth());
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this);
//необязательный блок, нужен только если что-то хотите сделать с загруженным сразу после загрузки
this.onLoadInit = function (target_mc)
{
//... какие-то произвольные действия с загруженным содержимым, если это нужно
//target_mc при этом - это ссылка на загруженное, то есть на container (или на test)
}
// конец необязательного блока
mcl.loadClip('rolik_1.swf', container);
И в хелп, если есть вопросы, загляните.
Самый главный смысл в использовании MCL - это то, что он дает возможность отследить момент загрузки, чего нет ни у loadMovieNum, ни у loadMovie. А косяки бывают именно в этом, они связаны с асинхронностью. Поэтому рекомендую сразу все делать правильно, чтобы проблем потом не было.
Огромное спасибо, очень сильно помогло!!!!
Добавлено через 14 минут
Спасибо огромное, очень сильно помогло!!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.