![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
есть вот такой код.
var type:String = GradientType.LINEAR; var colors:Array = [0xece3d4,0xd1be9e]; var alphas:Array = [1,1]; var ratios:Array = [0, 255]; var spreadMethod:String = SpreadMethod.PAD; var interp:String = InterpolationMethod.LINEAR_RGB; var focalPtRatio:Number = 0; var matrix:Matrix = new Matrix(); var boxWidth:Number = 20; var boxHeight:Number = 20; var boxRotation:Number = Math.PI/6.5; var tx:Number = 130; var ty:Number = 160; matrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty); graphics.lineStyle(0,0xd4c3a5,1,true,"normal",null,JointStyle.MITER); graphics.beginGradientFill(type, colors, alphas, ratios,matrix, spreadMethod, interp,focalPtRatio); graphics.drawRect(100,100,75,120); graphics.endFill(); Последний раз редактировалось Isfet; 09.07.2012 в 14:46. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Зачем размер бокса 20х20? Сделайте 120х120 ))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
я так понял ширина и высота этого бокса это и есть ширина и высота участка где будут "смешиваться " два цвета?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Да, верно. Типа рамки масштабирования.
Которую можно растягивать, поворачивать и смещать. От параметров собственно рисуемой фигуры вид градиента не зависит. Его "географические" параметры задаются этим боксом.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 09.07.2012 в 20:24. |
|
|||||
|
Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
|
а вот допустим фигуры у меня бывают различного размера, как по размеру фигуры вычислить ширину и высоту градиент бокса, и центрировать его относительно фигуры?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Хелп по Matrix#createGradientBox()
Ну тут уж школьный курс геометрии и тригонометрии. По сути надо определиться с точками, "откуда и докуда" тянуть градиент, вычислить расстояние между ними — ширину бокса (например Point.distance()) и угол "гипотенузы", то есть поворот бокса. А вот насчет смещений надо поэкспериментировать, не знаю, что берется за центр координат бокса при рисовании сложной ломаной фигуры.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|