![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
В принцыпе этот вопрос наверно актуален и для AS 1/2.0 и возможно где то подымался.
Нет, как задать через matrix - это ваопрос понятный, но для matrix нужны конечные размеры фигуры. Если matrix опустить, то радиальная заливка идет слева на право, и никаких размеров знать не надо - по умолчанию от границы до границы - все отлично. Как теперь мне сделать тоже самое сверху в низ? P.S. Вариант Shape.rotation не рассматриваю |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну размеры того, что вы рисуете, вам же известны?
|
|
|||||
|
Пореверните обьект на 90 или -90 градусов и залейте его, а потом опять поверните
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
vapes, пробовал?
|
|
|||||
|
нет не пробовал, но скорей всего повернуть придется через МаtrixTransform, простой rotation не поможет
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
Да ничего не мешает, просто когда matrix опускаешь, градиент как будто бы выставляет 100% (по умолчанию только по вертикале). Вот я и задумался, зачем создавать лишний объект ради поворота радиальной заливки.
Последний раз редактировалось voy22; 31.07.2007 в 16:59. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
Цитата:
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
Наткнулся еще на одну проблемму. Вот Код:
var r:Number = 90; // Угол поворота радиальной заливки
var sh:Shape = new Shape();
var m:Matrix = new Matrix();
m.createGradientBox(50, 200, 0, 0, 0);
m.rotate(r * Math.PI/180);
sh.graphics.beginGradientFill('linear', [0xff0000, 0x0000ff], [1,1], [0, 255], m);
sh.graphics.lineTo(200, 0);
sh.graphics.lineTo(200, 50);
sh.graphics.lineTo(0, 50);
sh.graphics.lineTo(0, 0);
sh.graphics.endFill();
addChild(sh);
Все решается таким путем: m.createGradientBox(200, 50, 0, 0, 0); Но это решаемо, если угол поворота прямой. Но мне нужен любой угол, и что бы центр заливки оставался в центре фигуры. )*( чую, что нужна хитрая формула для расчета первых двух значений createGradientBox, в зависимости от габаритов фигуры и угла наклона. Может есть готовые решения? Последний раз редактировалось voy22; 07.08.2007 в 11:15. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|