forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: flash on 2010-1-13
forked from forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: forked from: flash on 2010-1-13 (diff: 101)
ActionScript3 source code
/**
* Copyright Tamanegi_kenshi ( http://wonderfl.net/user/Tamanegi_kenshi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/cRjk
*/
package{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import caurina.transitions.Tweener;
import caurina.transitions.properties.FilterShortcuts;
import caurina.transitions.properties.ColorShortcuts;
public class test extends Sprite{
private var ball:Ball;
private var vr:Number=0.05;
private var cos:Number=Math.cos(vr);
private var sin:Number=Math.sin(vr);
private var isBig:Boolean=false;
private var balls:Array;
public function test(){
init();
}
private function init():void{
balls=new Array();
for(var i:uint=0;i<5;i++){
ball=new Ball();
addChild(ball);
ball.x=20+100*i;
ball.y=100;
balls.push(ball);
}
ColorShortcuts.init();
stage.addEventListener(MouseEvent.CLICK,on);
addEventListener(Event.ENTER_FRAME,enter);
}
private function on(e:MouseEvent):void{
//繰り返されるたびにisBigの値が代入されるので、交互にtrueとfalseが付く。
for(var i:uint=0;i<5;i++){
var ball:Ball=balls[i];
if(isBig==false){
var size:int=Math.floor(Math.random()*6)+4;
Tweener.addTween(ball,{alpha:1,scaleX:size,scaleY:size,transition:"easin",time:3});
isBig=true;
}else{
Tweener.addTween(ball,{alpha:0,_color:Math.random()*0xffffff,scaleX:1,scaleY:1,transition:"easout",time:2});
isBig=false;
}
}
}
private function enter(e:Event):void{
for(var i:uint=0;i<5;i++){
var ball:Ball=balls[i];
var x1:Number=ball.x-stage.stageWidth/2;
var y1:Number=ball.y-stage.stageHeight/2;
var x2:Number=cos*x1-sin*y1;
var y2:Number=cos*y1+sin*x1;
ball.x=stage.stageWidth/2+x2;
ball.y=stage.stageHeight/2+y2;
}
}
}
}
import flash.display.Sprite;
class Ball extends Sprite{
public var radius:uint;
public var posx:Number=0;
public var posy:Number=0;
public var posz:Number=0;
public var vx:Number=0;
public var vy:Number=0;
public var vz:Number=0;
function Ball(radius:uint=20){
this.radius=radius;
graphics.beginFill(0x000000);
graphics.drawCircle(0,0,radius);
graphics.endFill();
}
}
