
Код:
class rendering.Line {
private var __a:PNT;
private var __b:PNT;
private var __length:Number = Number.NaN;
private var __height:Number = Number.NaN;
private var __width:Number = Number.NaN;
private var __angle:Number = Number.NaN;
public function Line(pa:PNT, pb:PNT) {
__a = pa;
__b = pb;
__width = __b.x - __a.x;
__height = __b.y - __a.y;
trace(pa.x + ' : ' + pa.y + ' : ' + pb.x + ' : ' + pb.y);
trace(__b.x == __a.x);
trace('angle: ' + __angle + ' : ' + __height + ' : ' + __width);
__length = Math.sqrt(__width * __width + __height * __height);
__angle = Math.atan(__width / __height);
}
}

Код:
class rendering.PNT extends Array {
public function PNT(xx:Number, yy:Number) {
this.push(xx);
this.push(yy);
}
public function set x(p:Number):Void {
this[0] = Math.round(p);
}
public function get x():Number {
return this[0];
}
public function set y(p:Number):Void {
this[1] = Math.round(p);
}
public function get y():Number {
return this[1];
}
}
Похоже на баг компайлера... или я чего-то не понимаю =/
Уже чего только не делал...

Код:
new Line(new PNT(130,130), new PNT(30,130));
И в трейс выдается:
angle: NaN : -2.8421709430404e-14 : -100
(вместо -2.8421709430404e-14 должно быть 0)