Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Событие на покидание кадра (http://www.flasher.ru/forum/showthread.php?t=72903)

motor4ik 06.12.2005 15:11

Событие на покидание кадра
 
Если какое нибудь событие на покидание кадра, чтобы обработку его можно было написать в самом кадре.


Ну допустим есть n кадров, stop() в первом, и вот перейти на другой кадр мы можем разными способами, там на кнопке висит событие на стрелке итд, так вот как только уйдем с этого кадра можно как-нить проследить?

заранее спасибо

Nirth 06.12.2005 16:50

если я правильно тебя понял тебе нужно засечь когда мувик начнет анимацию?(тоесть уйдет из stop() кадра).
один из самых явных способов, это вызывать для этого функцию
Код:

playMovie() {
myMovie.gotoAndPlay(2);
__notifyAll();
}

метод __notifyAll(); собственно должен сообщать всем, о том что функция запущена(следовательно мувик играет, и вышел и стоп кадра)
можно сделать это через EventDispatcher\AsBroadcaster (чтобы события были настоящие)

второй способ, это поставить аналогичный метод на второй кадр.

motor4ik 06.12.2005 17:36

спасибо, буду разбираться...вообщем смысл в чем..

у меня есть кадр, в котором закладки (кнопки), нажав на которую я могу перейти в любой другой кадр. так вот я могу нажать на любую из 10 ти кнопок, не хочется просто в каждую прописывать код ...можно но думал может можно проще...

вобщем у меня в кадре создаются клипы программно, так вот если перейду в другой кадр они останутся,а мне их нужно удалить...так вот чтобы не прописывать удаление при нажатии на каждую кнопку я думал может можно написать в кадре...если происходит событие ухода из кадра, удалить созданные мувики... вот так...

motor4ik 06.12.2005 17:39

да ,я понял что ты предлагаешь...я так впринципе и буду делать...просто в этой функции __notifyAll(); буду удалять созданные мувики, но просто, они создаются только в одном из 10ти кадров...ну и фиг с ним впринципе :=) спасибо :=)

kruasan 06.12.2005 17:43

Если же речь идет о перехвате перехода с произвольного кадра на произвольный кадр, то ничичего другого в голову не приходит кроме как:

myMovie.stop();
var frameNum = myMovie._currentframe;
myMovie.onEnterFrame=function()
{
if(this._currentframe != frameNum)
{
__notifyAll();
delete this.onEnterFrame
}
}

Сам не люблю onEnterFrame...
Кстати в АС3 вроде ввели событие, генерируемое при покидании кадра.

motor4ik 06.12.2005 17:46

спасибо :=) тоже такой вариант рассматривался :=)

Nirth 06.12.2005 19:37

нелюблю подобные вещи на онЕнтерФрейм вставлять...

kruasan 07.12.2005 02:45

Пока не знаю как отловить это по другому... Подразумевается самый общий случай: счит. головка покидает кадр, причем мы незнаем куда она направилась, незнаем также что послужило возбудителем этого события.

Спасибо моторчику за интересный вопрос...

Король 07.12.2005 03:04

а в директоре есть onExitFrame
вот она, сила!

kruasan 07.12.2005 03:10

Решение для более узкого случая...
Если мы собираемся отловить уход из КОНКРЕТНОГО заранее известного кадра в ПРОИЗВОЛЬНЫЙ кадр по НЕИЗВЕСТНЫМ причинам, то в этот кадр можно просто положить прозрачный мувик empty_mc и прописать там же:

empty_mс.onUnload = function(){__notifyAll()}

2 Motor4ik
Собственно это и есть ответ на твой вопрос


Часовой пояс GMT +4, время: 09:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.