![]() |
странно работает beginGradientFill
Пытаюсь нарисовать прямоугольный треугольник с градиентом, направленным от вершины прямого угла к гипотенузе (т.е. повёрнутого на 45 градусов). Код под 8й флэш.
Код:
import flash.geom.Matrix;Код:
createEmptyMovieClip('mc2', getNextHighestDepth());Код:
matrix.createGradientBox(128 * Math.sqrt(2), 128 * Math.sqrt(2), Math.PI / 4, -128 / (4*Math.sqrt(2)), -128 / (4*Math.sqrt(2))); |
у меня оба результаты похожи. в чем пробема?
|
у меня во flash 8 они похожи, но далеко не идентичны, что видно как невооружённым глазом так и сравнением в photoshop-е.
в первом примере например рядом с вершиной довольно большая область чистого красного цвета, переход по градиенту почему-то начинается далеко не сразу, а где-то на расстоянии 20-25 пикселей от вершины. мне нужно сделать треугольник с катетам по 128 пикселей так чтобы у гипотенузы цвет уже переходи в чёрный. Расстояние до гипотенузы 128 / sqrt(2), поэтому логично сделать createGradientBox(128 / Math.sqrt(2), 128 / Math.sqrt(2), Math.PI / 4, 0, 0), но это не работает - около вершины область цельнокрасного, около гипотенузы - не чёрный цвет (с примесью красного). если рисовать сразу не треугольник а квадрат 128x128, видно что градиент заканчивается дальше чем диагональ этого квадрата, хотя по идее (128/sqrt(2)) должен бы на диагонали. люди, помогите, очень не хочется вращать сам movieclip, читерство это |
| Часовой пояс GMT +4, время: 13:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.