Показать сообщение отдельно
Старый 28.12.2011, 13:27
reQuiem вне форума Посмотреть профиль Отправить личное сообщение для reQuiem Найти все сообщения от reQuiem
  № 1  
Ответить с цитированием
reQuiem

Регистрация: Aug 2011
Сообщений: 29
По умолчанию Глюки скейла

Привет.

Столкнулся со странной проблемой.

Пытаюсь реализовать лазерный луч.

Сам луч у меня 1х1 белый пиксель с глоу, который должен тянуться и вращаться.

Код AS3:
var distance : int;
var angle : int;
function getDistance (): void
{
distance=Math.sqrt((circle_2.x - circle_1.x)*(circle_2.x - circle_1.x) + (circle_2.y - circle_1.y)*(circle_2.y - circle_1.y));
}
function getAng():void
{
angle=Math.atan2(circle_2.y - circle_1.y, circle_2.x - circle_1.x) * 180 / Math.PI;
}
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveFunc)
function mouseMoveFunc(e:MouseEvent):void
{
circle_2.x=mouseX;
circle_2.y=mouseY;
getDistance();
getAng();
laser.rotation=angle;
laser.width=distance;
laser.x=(circle_1.x+circle_2.x)/2;
laser.y=(circle_1.y+circle_2.y)/2;
}
Если не вешать второй кружок на мышку то все ок с любыми координатами.
Если убрать вращение то тоже все ок ( за исключением того что лазер всегда горизонтальный естественно)

Но вот все вместе дает проблему, мой пиксель непропорционально скейлится не только в ширину но и в длинну превращаясь в прямоугольник.

То что выходит - в аттаче.

Помогите, пожалуйста, разобраться.
Вложения
Тип файла: zip laser_test_1.zip (1.6 Кб, 33 просмотров)


Последний раз редактировалось reQuiem; 28.12.2011 в 14:12.