![]() |
при остановке одного mc почему-то останавливается другой (исходник тут)
Вложений: 1
Привет!
Подскажите плз, так и должно быть, или я в чем-то туплю... Аттачу из root'a клип, в середине останавливаю его, и там же аттачу другой клип. Ожидал, что второй клип начнет играть, ан-нет... Он тоже стоит на первом кадре, play() не помогает... Я не совсем понимаю, как сам флеш играет вообще клипы... Так как эти 2 клипа - на level0, то возможно, у флеша есть какой-то "бегунок", который останавливается для всех клипов? В общем, я в непонятках... В чем грабли???? Посмотрите плз, исходник для MX я приаттачил... |
А они не на один level аттачатся??
|
Вложений: 1
Может быть, вот так?
|
2 DUDE: аттачатся на один level (_level0)... Как приаттачить на разные, я не знаю... Или ты имел в виду depth? Depth у них разный, а иначе второй клип "затирает" первый...
2 sergwizard: спасибо за помощь, у тебя все работает как надо... Я пока еще не понял, почему не работало у меня, буду сравнивать, анализировать, разбираться... А вообще у меня складывается такое впечатление, что ActionScript не совсем "строгий" язык... |
причина найдена, но почему так???
Вложений: 1
Посмотрите плз, у кого есть время...
Должно работать, но не работает... В первом кадре _level0 у меня такое написано: Код:
function motionClip(){} |
Вложений: 1
я может быть не догнал проблему, но может так...?
|
Привет, Пушистик!
Ты "догнал" проблему ;)) В твоем примере - все работает, но у меня в том что я делаю на флеше, нужно обработчик onEnterFrame для клипа circle1 сделать программно - ну система такая... Так вот когда я его делаю программно, и из последнего кадра аттачу второй клип circle2, то оба клипа останавливаются. А вот если аттачить из последнего кадра circle1, выбрав на линейке последний кадр и прописав там аттач, как это у тебя сделано, то все работает... В принципе, жить можно и так, но как-то не универсально получается - в нескольких клипах писать в кадрах action'ы... Я хотел все в prototype запихнуть... |
фак!наверно все таки так....
Вложений: 1
вот!из первого кадра!
|
Вообще, очень приятно, что люди отрываются от своих дел, и помогают... Хороший сайт...
|
а ты не пробовал задавать новое имя?:)
вот тут: _root.attachMovie('circle2', 'circle2 ', 2); тоже иногда бывает полезно..... |
Ага, пробовал, не помогало ;)
Буду разбираться, спасибо за исходники... |
все просто™ :) смотри:
каждый кадр { если (кадр последний) И если (условие) { АТТАЧ; стоп; } } то есть как только первый клип доходит до последнего кадра, в КАЖДОМ следующем кадре начинает срабатывать аттач. и каждый кадр на сцене появляется НОВЫЙ второй клип, который стирает предыдущую его копию и начинает играть с начала... то есть визуально получается что он стоит в первом кадре. а нужно чтобы аттач сработал только один раз. вот, например, так работает: (и первый клип сразу назад проигрываться начинает...) Код:
motionClip.prototype.onEnterFrame = function() { |
Nox Noctis - спасибо!
Это было то, что нужно! А не знаешь случайно, почему для первого клипа в последнем кадре постоянно возникает событие onFrameEnter, хотя я делаю клипу stop(), и визуально он находится в последнем кадре? Это уже чисто теоретический вопрос для меня... |
Ну stop() и onEnterFrame совершенно разные вещи..если хочешь уничтожить onEnterFrame в клипе пиши
delete this.onEnterFrame... если я правильно понял вопрос. |
| Часовой пояс GMT +4, время: 04:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.