flash on 2009-12-23

by plus-tic
♥0 | Line 43 | Modified 2009-12-23 01:31:32 | MIT License
play

ActionScript3 source code

/**
 * Copyright plus-tic ( http://wonderfl.net/user/plus-tic )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/86xN
 */

	package {
	    import flash.display.*;
	    import flash.events.Event;
	 
	    [SWF(frameRate="30", width="465", height="465")]
	    public class MyFirstAnimation extends Sprite {
	        private var _circle:Circle;
	 
	        public function MyFirstAnimation() {
	            // クラスCircleのインスタンスを作る
	            _circle = new Circle(10);
	            // 半透明(不透明度25%)
	            _circle.alpha = 0.25;
	            _circle.vx = 3;
	            _circle.vy = 4;
	 
	            // 最初の位置をwonderflの画面の中央にセット
	            _circle.x = 465 / 2;
	            _circle.y = 465 / 2;
	            // 表示リストに追加
	            addChild(_circle);
	 
	            // 1フレーム毎に実行する処理にenterFrameHandlerを追加する
	            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
	        }
	 
	        // フレーム毎に行われる処理 [25行目で登録される]
	        private function enterFrameHandler(e:Event):void {
	            // 1フレーム分動かす
	            _circle.move();
	        }
	    }
	}
	 
	import flash.display.Sprite;
	 
	class Circle extends Sprite {
	    public var vx:Number;
	    public var vy:Number;
	    public var radius:Number;
	    // コンストラクタ
	    public function Circle(_radius:Number, _fillColor:uint = 0x000000) {
	        // 塗り_fillColor, 半径_radiusの円
	        graphics.beginFill(_fillColor);
	        graphics.drawCircle(0, 0, _radius);
	        graphics.endFill();
	        // 半径の大きさをパブリックな変数に保存しておく
	        radius = _radius
	    }
	    // 1フレーム分の動き
	    public function move():void {
	    	if(x==465)
	    	{
	    		 x -= vx;
	        y -= vy;    		
	    		}
	    	else{
	        x += vx;
	        y += vy;}
	    }
	}

Forked