ActionScript 3.0 - позиционирование градиента линии? - PullRequest
0 голосов
/ 14 октября 2011

Я рисую линию со стилем градиента, но по какой-то причине позиция x линии кажется около 4 или 5 вместо 0 при добавлении в список отображения.отслеживание позиции x возвращает 0, но ясно видно, что линия не расположена по этой координате.

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

Я нацеливаюсь на FlashPlayer 11 / AIR 3 с помощью Flash Builder.есть идеи?

//Constants
private static const LINE_COLOR:uint = 0xFFFFFF;
private static const LINE_WIDTH:uint = 10;

//Variables
private var volumeLineShape:Shape = new Shape();
private var volumeLineMatrix:Matrix = new Matrix();

// ~

volumeLineMatrix.createGradientBox(widthProperty, heightProperty);

volumeLineShape.graphics.clear();
volumeLineShape.graphics.lineStyle(LINE_WIDTH, 0, 1.0, false, LineScaleMode.NONE, CapsStyle.NONE);
volumeLineShape.graphics.lineGradientStyle(GradientType.LINEAR, [LINE_COLOR, LINE_COLOR, LINE_COLOR], [0.0, 1.0, 0.0], [0, 255 * toneProperty, 255], volumeLineMatrix);
volumeLineShape.graphics.moveTo(0, heightProperty - heightProperty * volumeProperty);
volumeLineShape.graphics.lineTo(widthProperty, heightProperty - heightProperty * volumeProperty); 

Ответы [ 2 ]

0 голосов
/ 15 октября 2011

это проблема полосатости.установка нулевой позиции в альфа-0, а другая нулевая позиция в альфа-1 вызывает проблемы.

0 голосов
/ 14 октября 2011

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

volumeLineShape.graphics.clear();
volumeLineShape.graphics.lineStyle(LINE_WIDTH, 0, 1.0, false, LineScaleMode.NONE, CapsStyle.NONE);
volumeLineShape.graphics.lineGradientStyle(GradientType.LINEAR, [LINE_COLOR, LINE_COLOR, LINE_COLOR], [0.0, 1.0, 0.0], [0, 255 * toneProperty, 255], volumeLineMatrix);
volumeLineShape.graphics.moveTo(0, 0);
volumeLineShape.graphics.lineTo(100, 100); 
...