root/as3/as3Query/samples/test/Star.as

リビジョン 198, 1.0 kB (コミッタ: nitoyon, コミット時期: 4 年 前)

--

Line 
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
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。