📄 polygon.as
字号:
package com.shinedraw.drawings {
import flash.events.Event;
import flash.display.Shape;
/*
* A Dancing Polygon Demonstration in Actionscript 3
* from shinedraw.com
*/
public class Polygon extends Shape {
private static var SPRINGNESS:Number = 0.2; // Control the return Speed
private static var DECAY:Number = 0.8; // Control the bounce Speed
private static var LIMIT:Number = 0.005; // Save CPU time. Smaller value means smoother animation
private var _temp : Number = 0; // Temporary Variable for calculating spring effect
public function Polygon() {
}
/////////////////////////////////////////////////////
// Handlers
/////////////////////////////////////////////////////
// Enable the spring effect
private function on_enter_frame(e:Event):void{
_temp = _temp * DECAY + (1-scaleX) * SPRINGNESS;
if(Math.abs(_temp) < LIMIT){ // Save CPU time
scaleX = 1;
scaleY = 1;
removeEventListener(Event.ENTER_FRAME, on_enter_frame);
}else{
scaleX += _temp;
scaleY += _temp;
}
}
/////////////////////////////////////////////////////
// Private Methods
/////////////////////////////////////////////////////
/////////////////////////////////////////////////////
// Public Methods
/////////////////////////////////////////////////////
// start the animation and enter frame event
public function startAnimation():void{
scaleX = 0;
scaleY = 0;
if(!hasEventListener(Event.ENTER_FRAME)){
addEventListener(Event.ENTER_FRAME, on_enter_frame);
}
}
// creat the polygon
public function draw(corner:int, radius : Number, color : uint = 0, alpha:Number = 1) : void {
graphics.clear();
graphics.beginFill(color, alpha);
graphics.moveTo(radius, 0);
for(var i:int = 0; i < corner; i++){
var angle:Number = 2 * Math.PI/ corner * (i + 1);
var lineX:Number = Math.cos(angle) * radius;
var lineY:Number = - Math.sin(angle) * radius;
graphics.lineTo(lineX, lineY);
}
graphics.endFill();
}
/////////////////////////////////////////////////////
// Properties
/////////////////////////////////////////////////////
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -