![]() |
[Решено] Проигрывание клипа по клику
Объясните, почему trace отображается все время, а play через раз?
На сцену добавляется три кнопки-позиции и указатель. При клике по кнопкам указатель будет перемещаться (анимация внутри указателя, своя для каждой позиции) Но пока проблема с проигрыванием анимации - пропуск каждого второго клика. Код AS3:
|
Поставьте gotoAndPlay вместо play.
|
Цитата:
Внутри объекта Pointer содержится четыре анимации перемещения между тремя точками. После нескольких движений происходит сбой. Причем текущая позиция (pointer.pos) выводится корректно на любом шаге, но с анимацией творится чехарда. Код AS3:
|
Сделайте gotoAndPlay для всех вложенных мувиклипов.
Или настройте внутреннюю анимацию таким образом, чтоб она сбрасывалась. |
Цитата:
Уточните что значит чтобы она сбрасывалась? |
Вложений: 2
|
Цитата:
Возможно я стараюсь решить задачу не самым подходящим способом. Тогда прошу подсказать. Я стараюсь реализовать перемещение между некоторым количеством точек. К примеру есть точки A, B и C, лежащие на одной плоскости. Начальная позиция указателя над точкой B. При клике по точкам происходит проигрывание анимации перемещения. Причем перемещение важно сделать именно анимацией а не программно. |
Цитата:
|
Цитата:
Но в вашем примере всего одна анимация и кадр reset имеет строку gotoAndStop(1) на нее ссылающуюся. Если анимаций больше, то в данном методе наверно придется использовать условие и ссылаться на первый кадр нужной анимации. Вообще эти манипуляции с reset это стандартное решение или что то вроде костыля? Почему анимация себя так ведет, где можно про это почитать? |
Да это костыль.
Суть вот в чём: Когда проигрывание переходит на пустой кадр (reset), все вложенные клипы с анимацией удаляются. Снова вернувшись на первый кадр (gotoAndStop(1)), эти клипы заново создаются. Перейдя на пустой кадр, можно таким образом устроить сброс. Команда gotoAndStop(1) не позволяет отрисоваться пустому кадру, так как при переходе на него сразу же происходит переход на 1 кадр. Это совсем не тривиальное решение. Можно ещё рекурсивной функцией пройтись по всем мувиклипам и вызвать gotoAndStop(1). Тоже самое по сути будет. Вообщем, конечно всё это можно сделать красивее и аккуратнее. Но я не знаю, как у вас устроена анимация. Вы задали вопрос, как сделать так, чтоб при каждом вызове вложенная анимация проигрывалась заново, я предложил вам решение. |
| Часовой пояс GMT +4, время: 10:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.