|
|
|||||
Градиент с матрицей и без
Итак, меня интересует, почему
var matrix:Matrix = new Matrix(); matrix.createGradientBox(100, 0, 0, 0, 0); this.graphics.beginGradientFill(GradientType.LINEAR, [0xFF0000, 0x0000FF], [1, 1], [0x00, 0xFF], matrix); this.graphics.drawRect(0,0,100,100); ? Ведь рисуется обычный градиент, не поворачивается, не смещается. Но в случае с матрицей он рисуется правильно с красного на синий, а без матрицы с фиолетово-розового на синий. Причем, если указать вместо [0x00, 0xFF] у версии без матрицы - [0x7F, 0xFF], то все очень даже чудненько и правильно рисуется. Без матрицы градиент задается от середины области до конца, что ли? Не бред ли?
__________________
тут я |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Как-то времени не было вникать в особенности работы с магическими числами, но может поможет вот это:
public function createBox( scaleX:Number, scaleY:Number, rotation:Number=0, tx:Number=0, ty:Number=0 ):void { this.identity(); this.rotate(rotation); this.scale(scaleX, scaleY); this.tx = tx; this.ty = ty; } public function createGradientBox( width:Number, height:Number, rotation:Number=0, tx:Number=0, ty:Number=0 ):void { this.createBox(width / 1638.4, height / 1638.4, rotation, tx + width / 2, ty + height / 2); }
__________________
Загружаем картинки, минуя ошибки безопасности Последний раз редактировалось i.o.; 15.10.2010 в 17:50. |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
я не знаю, сам ничего тут не допридумывал. Можете любым декомпилятором вскрыть playerglobal.swc и посмотреть как он устроен. Думаю данное не считается аморальным. На флэшриппере даже статьи этому посвящались.
__________________
Загружаем картинки, минуя ошибки безопасности Последний раз редактировалось i.o.; 15.10.2010 в 20:36. |
Часовой пояс GMT +4, время: 12:55. |
|
« Предыдущая тема | Следующая тема » |
|
|