1
8
9 import com.sekati.geom.Point;
10
11
14 class com.sekati.draw.Curve {
15
16 private var _mc:MovieClip;
17 public var _p1:Point;
18 public var _p2:Point;
19 public var _c:Point;
20 public var _sw:Number;
21 public var _sc:Number;
22 public var _sa:Number;
23
24
35 public function Curve(mc:MovieClip, p1:Point, p2:Point, c:Point, strokeWeight:Number, strokeColor:Number, strokeAlpha:Number) {
36 _mc = mc;
37 _sw = (!strokeWeight) ? undefined : strokeWeight;
38 _sc = (isNaN( strokeColor )) ? 0x000000 : strokeColor;
39 _sa = (isNaN( strokeAlpha )) ? 100 : strokeAlpha;
40 _p1 = p1;
41 _p2 = p2;
42 _c = c;
43 draw( );
44 }
45
46
50 public function draw():Void {
51 _mc.clear( );
52 _mc.lineStyle( _sw, _sc, _sa, true, "none", "round", "round", 8 );
53 _mc.moveTo( _p1.x, _p1.y );
54 _mc.curveTo( _c.x, _c.y, _p2.x, _p2.y );
55 }
56
57 public function get p1x():Number {
58 return _p1.x;
59 }
60
61 public function set p1x(n:Number):Void {
62 _p1.x = n;
63 draw( );
64 }
65
66 public function get p1y():Number {
67 return _p1.y;
68 }
69
70 public function set p1y(n:Number):Void {
71 _p1.y = n;
72 draw( );
73 }
74
75 public function get p2x():Number {
76 return _p2.x;
77 }
78
79 public function set p2x(n:Number):Void {
80 _p2.x = n;
81 draw( );
82 }
83
84 public function get p2y():Number {
85 return _p2.y;
86 }
87
88 public function set p2y(n:Number):Void {
89 _p2.y = n;
90 draw( );
91 }
92
93 public function get cx():Number {
94 return _c.x;
95 }
96
97 public function set cx(n:Number):Void {
98 _c.x = n;
99 draw( );
100 }
101
102 public function get cy():Number {
103 return _c.y;
104 }
105
106 public function set cy(n:Number):Void {
107 _c.y = n;
108 draw( );
109 }
110 }