forked from: forked from: Pendulum from: nengafl
タイトル:振り子
♥0 |
Line 85 |
Modified 2010-01-07 19:54:30 |
MIT License
archived:2017-03-20 13:54:30
ActionScript3 source code
/**
* Copyright hacker_cif_rxsb ( http://wonderfl.net/user/hacker_cif_rxsb )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/k7xH
*/
// forked from hacker_vp_munwv's forked from: Pendulum from: nengafl
// forked from cybernet's Pendulum from: nengafl
// forked from nengafl's nengafl
//タイトル:振り子
package {
//import flash.accessibility.Accessibility;
import flash.text.*;
//import flash.text.TextField;
//import flash.display.Sprite;
import flash.display.*;
import flash.events.*;
[SWF(backgroundColor="#000000",frameRate=10)]
public class Pendulum extends Sprite {
public function Pendulum() {
var tf:TextField = new TextField();
tf.x = 0;
tf.y = 20;
tf.width = 230;
tf.height = 50;
tf.textColor = 0xCCCCCC;
tf.text = "画面上でクリックする度に\n"+
"色とりどりの振り子が現れて振動します。\n"+
"何回か振れたあと順次消えていきます。\n";
stage.addChild(tf);
stage.addEventListener(MouseEvent.CLICK,onRun);
}
private function onRun(evt:MouseEvent): void {
var yureru:Sprite = new Yureru();
addChild(yureru);
}
}
}
import flash.display.*;
import flash.events.*;
class Furiko extends Sprite {
public function Furiko(){
var box:Sprite = new Sprite();
var bg:Graphics = box.graphics;
bg.lineStyle();
var col:Number = 0xFFFFFF*Math.random();
bg.beginFill(col,1.0);
var ito:Number = 100 + 150*Math.random();
bg.drawRect(0,0,1,ito);
bg.beginFill(col,1.0);
bg.drawCircle(0,ito,5+20*Math.random());
bg.endFill();
addChild(box);
}
}
import flash.display.*;
import flash.events.*;
class Yureru extends Sprite {
private var count:Number = 0;
private var t:Number = 0;
private var tm:Number = 20;
private var direct:int = 0;
private var kk:Number = 0;
private var rb:Furiko = new Furiko();
private var sp:Number = 0.5 + 3.5*Math.random();
private var kai:Number = 1 + 2*Math.random();
public function Yureru(){
addChild(rb);
addEventListener(Event.ENTER_FRAME,onLoop,false,0,true);
}
private function onLoop(ev:Event): void {
count++;
rb.x = 100;
rb.y = 70;
kk += 0.005;
if(direct == 0){
if(t < tm){
t += 1;
}
else {
direct = 1;
}
}
if(direct == 1){
if(t > -tm){
t += -1;
}
else {
direct = 0;
}
}
rb.rotation = sp*t;
if(count >= 90*kai){
removeEventListener(Event.ENTER_FRAME,onLoop);
removeChild(rb);
}
}
}