Показать сообщение отдельно
Старый 21.02.2011, 20:17
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 17  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Работает для любого прямоугольного треугольника вроде.

Код AS3:
var p1:Point = new Point(50, 250);
var p2:Point = new Point(200, 100); // corner point
var p3:Point = new Point(250, 150);
var d23:Number = Point.distance(p2, p3);
 
var angle:Number = Math.atan2(p3.y - p2.y, p3.x - p2.x);
 
var matrix:Matrix = new Matrix();
matrix.createGradientBox(d23, d23, angle, (p3.x + p2.x) / 2 - d23 / 2, (p3.y + p2.y) / 2 - d23 / 2);
 
graphics.lineStyle(0, 0);
graphics.beginGradientFill(GradientType.LINEAR, [0x000000, 0xffffff], [1, 1], [0, 255], matrix);
graphics.moveTo(p1.x, p1.y);
graphics.lineTo(p2.x, p2.y);
graphics.lineTo(p3.x, p3.y);
graphics.lineTo(p1.x, p1.y);
graphics.endFill();
__________________
Поймай яблоко 2!