| 1 |
package test |
|---|
| 2 |
{ |
|---|
| 3 |
public class Star extends Base |
|---|
| 4 |
{ |
|---|
| 5 |
private var _corner:int = 5; |
|---|
| 6 |
public function get corner():int{return _corner;} |
|---|
| 7 |
public function set corner(value:int):void |
|---|
| 8 |
{ |
|---|
| 9 |
_corner = value; |
|---|
| 10 |
draw(); |
|---|
| 11 |
} |
|---|
| 12 |
|
|---|
| 13 |
private var _ratio:Number = 0.5; |
|---|
| 14 |
public function get ratio():Number{return _ratio;} |
|---|
| 15 |
public function set ratio(value:Number):void |
|---|
| 16 |
{ |
|---|
| 17 |
_ratio = value; |
|---|
| 18 |
draw(); |
|---|
| 19 |
} |
|---|
| 20 |
|
|---|
| 21 |
internal override function drawShape(offsetX:Number, offsetY:Number):void |
|---|
| 22 |
{ |
|---|
| 23 |
graphics.moveTo(offsetX + width / 2, offsetY); |
|---|
| 24 |
for(var i:int = 0; i < corner; i++) |
|---|
| 25 |
{ |
|---|
| 26 |
var rad:Number = Math.PI / corner * (2 * i + 1); |
|---|
| 27 |
graphics.lineTo(offsetX + width / 2 * (1 + Math.sin(rad) * ratio), |
|---|
| 28 |
offsetY + height / 2 * (1 - Math.cos(rad) * ratio)); |
|---|
| 29 |
rad = Math.PI / corner * (2 * i + 2); |
|---|
| 30 |
graphics.lineTo(offsetX + width / 2 * (1 + Math.sin(rad)), |
|---|
| 31 |
offsetY + height / 2 * (1 - Math.cos(rad))); |
|---|
| 32 |
} |
|---|
| 33 |
} |
|---|
| 34 |
} |
|---|
| 35 |
} |
|---|
| 36 |
|
|---|