Показать сообщение отдельно
Старый 29.11.2008, 17:11
Van8 вне форума Посмотреть профиль Отправить личное сообщение для Van8 Найти все сообщения от Van8
  № 7  
Ответить с цитированием
Van8

Регистрация: Nov 2008
Сообщений: 6
Цитата:
Сообщение от iNils Посмотреть сообщение
Просто - не можем.
<...>
Но это пол беды.
В моём предыдущем посте был приведён "пример номер раз", идея которого, надо сказать, существенно проще "примера номер два" и того, что хотелось бы получить. Странно, что даже в таком навороченном инструменте как CS4 не существует возможности автоматизировать процесс.

Пример номер два по сути описан в начале этой темы, однако повторюсь: берётся заранее нарисованная кракозябра (а лучше узор), состоящий из одной линии (она сама с собой не пересекается). Нарисована она может быть в несколько приёмов, совмещена из кусков или создана любым другим аналогичным способом (т.е. в отличае от "примера номер раз" флэш не видит процесса создания объекта, ему нечего запоминать и затем нечего повторять). Результат, тем не менее, должен быть аналогичным, как в первом примере. Пишу это потому, что у меня возникла идея (более-менее простой) реализации. По причине моего знакомства с PHP и практически незнания ActionScript, поясню как умею.
От вас же, уважаемые эксперты, нужно мнение, можно такое реализовать во флэше или нет:

1) Допустим, во флэш загружается картинка 100х100 пикселей, фон у которой - белый. На картинке изображен узор, соответствующий критериям, перечисленным во втором примере (без пересечений).
2) Левый верхний пиксель картинки имеет координаты 0,0. Правый нижний, соответственно, имеет координаты 99,99. Создаётся функция, в которой поочереди перебираются все пиксели нашей картинки и координаты всех цветных (небелых, т.е. относящихся к узору) записываются в массив.
3) Срабатывает функция, которой передаётся массив координат и координаты начальной точки (X и Y одного из концов линии, из которой состоит наш узор). Допустим, наше начало - это 21,40. Эта точка удаляется из массива.
4) Функция ставит на пустом белом холсте в этом месте точку,а затем проверяет, есть ли в массиве точка, имеющая координаты, отличные от начальной не более чем на 1 пиксель. Если продолжение найдено, точка с соответствующими координатами удаляется из массива и ставится на плоскость. Далее процесс идёт циклически, пока не останется точек.
5) Варианты: если линия толще одного пикселя, ну или изгибы линии в нескольких местах заставляют один цветной пиксель соприкасаться с несколькими другими, код будет слегка изменён, однако суть останется прежней.

Ещё раз to iNils: думаю, я написал приблизительно то же, что должно быть в скрипте, о котором вы говорили. Если нет, прошу прокомментировать возможность реализации подобного во флэше. Особенно интересует меня первая функция - та, которой скармливается картинка для создания массива.