|
|
|||||
Регистрация: Sep 2010
Сообщений: 33
|
drawCircle
Всем привет!
Я рисую прямоугольник на весь экран с прозрачным дыркой в виде окружности: Как можно программно изменять координаты этой окружности? или придется каждый фрейм удалять и прорисовывать заново все с новыми координатами окружности? |
|
|||||
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Правильно думаете! Можно конечно, исхитриться с масками, или же комбинацией двух клипов в контейнере (у отверстия blendMode = BlendMode.ERASE, у контейнера, в котором лежат и клип-прямоугольник и клип-отверстие blendMode = BlendMode.LAYER) но это того не стоит, мне кажется.
Последний раз редактировалось Hidest; 22.09.2010 в 13:15. |
|
|||||
Регистрация: Sep 2010
Сообщений: 33
|
А как это сделать с помощью маски?если можно, пример. Мне кажется, двигать окружность все-таки элегантнее)))
|
|
|||||
Регистрация: Dec 2009
Сообщений: 428
|
рисуйте круг отдельным спрайтом, потом main_rect.mask = спрайт_с_кругом
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг |
|
|||||
Регистрация: Sep 2010
Сообщений: 33
|
спасибо, попробую
|
|
|||||
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Не, чтобы маской сделать дырку, надо рисовать не окружность, а все тот же прямоугальник с отверстием, но большего размера, чтобы он пререкрывал всегда исходный прямоугльник (уже без отверстия) при любым изменениях координат "как бы отверстия"... Если маска - просто окружность, то вы в итоге и получите окружность, а все остальное исчезнет...
Так вы и будете двигать свою окружность, не менее элегантно... просто она будет абстрактной, а перерисовка не повлияет на скорость (если конечно, у вас будут не тысячи таких объектов)... Ну а если уж совсем хотите по отдельности, тогда в руки мой совет с blendMode (можете сначала попробовать в FlashIDE ручками сделать, чтобы понять принцип, а потом уже все клипы отрисовывать в рантайме)... Последний раз редактировалось Hidest; 22.09.2010 в 13:55. |
|
|||||
Регистрация: Sep 2010
Сообщений: 33
|
Цитата:
Добавлено через 26 минут Получилось! хороший совет, спасибо! |
Часовой пояс GMT +4, время: 08:06. |
|
« Предыдущая тема | Следующая тема » |
|
|