Форум 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=129163)

ryudzaki 26.08.2009 11:11

В клипах, вызываемых скриптом, не проигрывается анимация
 
Доброго времени.

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

Код AS1/AS2:

onEnterFrame = function() {
        var $num = Math.ceil(Math.random()*5+1);
        var clip = _root.attachMovie("clip"+$num, "newName",_root.getNextHighestDepth());
        clip._x = (Stage.width/2);
        clip._y = (Stage.height/2);
        delete clip.onEnterFrame;
}
        setInterval(clip, 1*1000);


lexa2000lexa 26.08.2009 11:21

как вариант можно вот так
Код AS1/AS2:

var clip = _root.attachMovie("clip"+$num, "newName",100);


alexcon314 26.08.2009 11:29

removeMovieClip();
Можно так же аттачить на конкретную глубину, а не на динамически определяемую через _root.getNextHighestDepth(). Скажем,
Код:

var clip = _root.attachMovie("clip"+$num, "newName",1000);
Тогда предыдущий приаттаченный клип автоматически удалится с глубины 1000 и будет заменен следующим. 1000 - это для примера, можно любую другую глубину юзать.
ЗЫ а вот это что?
Код:

setInterval(clip, 1*1000);
И где у вас ентерфрейм, в руте или на клипе, что аттачится?

ryudzaki 26.08.2009 11:32

Цитата:

setInterval(clip, 1*1000);
Это чтобы через опред. интервал запускался клип. Но я не могу его граммотно применить.:(

Добавлено через 7 минут
Цитата:

И где у вас ентерфрейм, в руте или на клипе, что аттачится?
Я пробник делаю в руте, но по сути задумки в клипе будет

alexcon314 26.08.2009 11:51

Попробуйте так:
Код:

function attachRandomClip() {
        var num = Math.ceil(Math.random() * 5 + 1);
        var clip = _root.attachMovie("clip" + num, "newName", 1000, {_x:Stage.width / 2, _y:Stage.height / 2});
}
var intvID = setInterval(attachRandomClip, 1000);

Этот код в руте разместите.

ryudzaki 26.08.2009 12:09

спасибо огромное, все работает как часы. Очень благодарен!!!
alexcon314, lexa2000lexa зачет вам :)!

Добавлено через 11 минут
Только одна проблема. Анимация внутри clip1, clip2 ... не проигрывается

alexcon314 26.08.2009 12:54

На таймлайне клипов, которые аттачатся, есть stop()?.

ryudzaki 26.08.2009 13:10

Все! Разобрался, спасибо огромное.


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

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