Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Как сделать след от движения? (http://www.flasher.ru/forum/showthread.php?t=110473)

lingardo 03.04.2008 15:40

Как сделать след от движения?
 
Движется шар по трпектории (на самом деле он маска для трубы или непустой окружности). Нужно чтобы он оставлял за собой след. Тоесть допустим он открывает маску с водой в трубе. Если он и дальше будет двигатьсяне оставляя след - не будет эффекта заполнения трубы водой. Труба не прямая, поэтому прямоугольник размера трубы в качестве маски не подойдет.

Возможноли оставлять след от движения объекта?
Расскажите как.
Спасибо.

aksios 03.04.2008 15:50

Дублите.

lingardo 03.04.2008 15:56

Как правильнее дублировать? Делать через каждые несколько кадров ключевой и оставлять в нем копию движущегося объекта?

aksios 03.04.2008 15:57

Неее шарик - мувиклип. Его и надо не двигать а дублировать.

lingardo 03.04.2008 16:01

Программно? Или это можно стандартными средствами сделать? Подскажите, пожалуйста, как.

aksios 03.04.2008 16:06

Программно естесно. Иначе будет куча кейфремов.

lingardo 03.04.2008 16:13

Понял, попробую.
Благодарю за помощь.

___

Нужно чтобы, допустим, в каждом кадре mc оставлял свою копию. Глупый вопрос - не писать же этот код в каждом кадре. Как правильно поступить? =)

combo 04.04.2008 14:01

Анимация не программная? Ну, можно делать setInterval'ом через n миллисекунд копию объекта. Но, имхо, в принципе дубликаты в качестве маски - не лучшее решение.

lingardo 04.04.2008 14:05

Цитата:

Сообщение от combo
Анимация не программная? Ну, можно делать setInterval'ом через n миллисекунд копию объекта. Но, имхо, в принципе дубликаты в качестве маски - не лучшее решение.

Дубликаты нагромаждают ролик. Может у Вас есть какая-нибудь идея? Я слаб в AS, но думаю ведь возможно программно рисовать большой кистью след по координатам, который и будет рисоваться под маской?

aksios 04.04.2008 14:17

Цитата:

Сообщение от lingardo
Дубликаты нагромаждают ролик.

Чтобы не награмождали, не надо зацикливаться на задаче в 2 действия, а добавить третье - дубликанты только отвечают за визуальный эфект заполнения сложной по геометрии фигуры, появление всей фигуры происходит обычным способом, а не нужные уже дубликанты программно удаляются.
Есть другие способы решения проблемы, но в них требуется значительно больший объем знаний по АС.

combo 04.04.2008 14:27

Кисть это вариант. Даже придумал интересный вариант... Смотрите.

Программно создаётся пустой ролик, в котором будет рисоваться(!) маска. Вручную создаётся клип, в котором будут даны координаты открываемого участка. В нём создаётся клип-пустышка(можно точку нарисовать или флажок - без разницы, главное - координаты этого клипа). Эту точку вручную перемещаем по изгибам трубы(обычный motion или как-то там..). Всё, координаты есть.
Теперь что со всем этим делать..
Опять-таки используем setInterval или onEnterFrame для постоянного слежения за движением клипа-точки. Узнаём с их помощью координаты этой точки и по ним в клипе-маске программно рисуем методами клипа.
Таким образом, маска как-бы следит за изменением координат открываемого участка и открывает нужный клип, оставляя позади програмносозданный след.

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

lingardo 04.04.2008 14:31

Сейчас попробую сделать.

Вобщем так.
Сделал всё без программирования =)
Сделал квадрат и по ключевым кадрам добавлял ему новые грани, которые вытягивал обычным Shape Tween. Всё получилось чётко и ровно (с хэлперами).
Осталось обработать места Пересечения Труб. Но тут с маской думаю всё нормально получится.

Ребята, спасибо всем! =)

combo 04.04.2008 14:57

Вложений: 1
Ну, а вот, что я имел ввиду(кстати, не думал что получится - ни разу такого не делал).:victory:

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

lingardo 04.04.2008 22:15

Прикольно реализовал идею =) возьму на заметку.

combo 05.04.2008 20:46

Кстати, я вот подумал... Что если не рисовать в самой маске, а впихнуть в неё прозрачный битмап и копировать в него изображение из другого битмапа или клипа? По идее, можно сделать ни в чём не уступающую замену клипам-дубликатам. Вариант выше не гибкий - возможны только примитивы в качестве кисти...
Приду домой - попробую сделать.

FlashRus 06.04.2008 09:10

Немогли бы вы немного объяснить как это работает, а то я с таким еще не сталкивался. Очень интересный эффект.


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

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