![]() |
stop(); на as3
Как останавливать слайды?
К .fla у меня присоединяется main.as но я хочу как раньше, в as2 мог взять написать в строчке stop(); и слайд следующий не проигрывался. Как тут быть..? |
Ну, как бы stop() есть и в AS3. Вопрос в том, где конкретно вы хотите остановить анимацию? По какому условию?
|
у меня есть два кадра
открываем флешку, открывается первый кадр и сразу же останавливается на нём нет никакой анимации, просто текст как пользователь прочёл текст, он жмёт на кнопку, которая перенаправляет его на второй кадр на втором кадре тоже остановка. Там уже пользователь может жать на кнопку и ему будет выдаваться результат некоторых вычислений. Но суть в том что сейчас если открыть, то эти два кадра маргают и ни где не останавливается. |
1 кадр, на нем мувиклип knopka1
Код AS1/AS2:
Код AS1/AS2:
______________________________ Web-программирование |
Вместо gotoAndPlay можно gotoAndStop. Тогда stop() достаточно написать в первом кадре...
Только эта... Я, к сожалению, не специалист писать код в кадрах, но по моему так делать нельзя... Получить, что каждый раз, когда мы будем переходить на кадр 1 knopka1.addEventListener(MouseEvent.CLICK, ckicl1 ); - будет делать очередную подписку... На втором кадре то же самое... В результате через какое то время будет страшное... Хотя внешне наверное все будет работать.. 2tilweb: Не стоит писать код в кадрах... Почитайте того же Мука что ли... |
В конструкторе пишем super.stop();
А в обработчиках кнопок вперед|назад соответственно super.nextFrame(); и super.prevFrame(); И будет все равно сколько там кадров, каждый раз будете преходить на следующий или предыдущий. Причем можно не боятся, что выйдете за диапазон 1..totalFrames. |
1180: Call to a possibly undefined method gotoAndStop.
Warning: 1060: Migration issue: The method stop is no longer supported. For more information, see MovieClip.stop().. пробую написать MovieClip.stop();, тоже не работает, всёравно не останавливается на кадре Добавлено через 8 минут super.stop(); тоже не работает :( Добавлено через 17 минут а создал просто файл с двумя кадрами, написал в первом stop(); сохранил и работает а в моей флешке нет.. не понимаю почему.. может из-за того что прикрепляется main.as? может он игнорирует при этом всё что пишется в action script и делает только то что в main.as ? |
ваш документ класс должен быть наследником MovieClip
|
Цитата:
Добавлено через 1 минуту Цитата:
Добавлено через 8 минут Цитата:
|
а как записать в файл main.as вот эти коды, так чтобы он понимал для какого кадра код?
пробовал просто запихать в начале stop(); так он не хочет.. у меня код в нём начинает вот с такого: Код AS3:
|
Тогда лучше создайте классы для кнопок. И тогда просто перетаскивайте нужную кнопку из библиотеки на сцену, имя ей на сцене задавать конечно уже не нужно. У кнопки есть только одна функция - переместить кадр её родителя вперёд. Например класс для перехода на следующих кадр, родителя кнопки.
Код AS3:
Код AS3:
|
а какую кнопку брать из библиотеки, если прописал вот этот код в main.as ?
там же просто либо овальные кнопки, либо квадратные и т.д.. Цитата:
Код AS3:
Код AS3:
|
Нет, нет... Например у вас в библиотеке лежит мувиклип, который изображает кнопу перехода на следующий кадр. Класс для этого мувиклипа прописан как NextButton. Потом вы создаёте *as файл с именем этого же класса, и копируете туда код, который я написал выше.
Вы в общем-то можете обойтись и без Документ класса, тогда просто в первом кадре напишите stop(). Теперь если вы перетащите из библиотеки на сцену тот мувиклип-кнопку (для которого был создан класс), то по клику на нем, сцена перейдёт на следующий кадр. |
ааааааа....) как не просто всё это..)
так, я сделал кнопку в библиотеке, зашёл в расширенные настройки и в Class написал: nb далее создал файл nb.as и запихал туда тот код кнопку поместил на первый кадр в первом кадре прописал stop() но явно чтото не то сделал гдето.. ибо не работает ( |
Вложений: 1
Уговорили ) Вложение 25849
|
спасибо огромное)
Добавлено через 10 минут аааааааа....) рано обрадовался) хм..) если отсоединяю main.as от .fla, то всё работает а если присоединён, то нет :( из-за чего может такое быть? вот main.as: Код AS3:
|
для внимательных повторюсь:
ваш документ класс должен быть наследником от MovieClip, а не Sprite. у спрайта нет таймлайна, соотв. и методов работы с ним(с ней? )). побуквенно: заменить "extends Sprite" на "extends MovieClip" |
а....) спасибо)
хм.. а может такое быть что на 1ом слайде работают мои другие кнопки и показ результатов, а на втором нет? из-за чего это может быть? нужно где-то прописать что кнопка и форма показа результата стоят на втором слайде теперь, а не на первом? Добавлено через 12 часов 11 минут хм.. :( |
| Часовой пояс GMT +4, время: 04:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.