5つの丸がランダムな位置に移動する5

by umhr forked from 5つの丸がランダムな位置に移動する4 (diff: 56)
ステージ上をクリックすると、丸がランダムな位置に移動します。
♥0 | Line 76 | Modified 2010-05-16 03:54:49 | MIT License
play

ActionScript3 source code

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

/*
ステージ上をクリックすると、丸がランダムな位置に移動します。
*/
package{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	public class Main extends Sprite{
		private var _marus:Array = new Array();
		private var _onPositionXs:Array = new Array();
		private var _onPositionYs:Array = new Array();
		public function Main(){
			
			for (var i:int = 0; i < 5; i++) {
				_onPositionXs[i] = 0;
				_onPositionYs[i] = 0;
			}
			
			var maru:Sprite = new Sprite();
			maru.graphics.beginFill(0xFF0000);
			maru.graphics.drawCircle(0,0,50);
			maru.graphics.endFill();
			this.addChild(maru);
			_marus[0] = maru;

			var maru2:Sprite = new Sprite();
			maru2.graphics.beginFill(0xFF0000);
			maru2.graphics.drawCircle(0,0,50);
			maru2.graphics.endFill();
			this.addChild(maru2);
			_marus[1] = maru2;

			var maru3:Sprite = new Sprite();
			maru3.graphics.beginFill(0xFF0000);
			maru3.graphics.drawCircle(0,0,50);
			maru3.graphics.endFill();
			this.addChild(maru3);
			_marus[2] = maru3;

			var maru4:Sprite = new Sprite();
			maru4.graphics.beginFill(0xFF0000);
			maru4.graphics.drawCircle(0,0,50);
			maru4.graphics.endFill();
			this.addChild(maru4);
			_marus[3] = maru4;

			var maru5:Sprite = new Sprite();
			maru5.graphics.beginFill(0xFF0000);
			maru5.graphics.drawCircle(0,0,50);
			maru5.graphics.endFill();
			this.addChild(maru5);
			_marus[4] = maru5;
			
			this.addEventListener(Event.ENTER_FRAME,onEnter);
			stage.addEventListener(MouseEvent.CLICK,onClick);
		}
		private function onClick(event:MouseEvent):void{
			for (var i:int = 0; i < 5; i++) {
				_onPositionXs[i] = Math.random()*stage.stageWidth;
				_onPositionYs[i] = Math.random()*stage.stageHeight;
			}
		}

		private function onEnter(event:Event):void{
			var dx:Number = _onPositionXs[0] - _marus[0].x;
			var dy:Number = _onPositionYs[0] - _marus[0].y;
			_marus[0].x += dx*0.1;
			_marus[0].y += dy*0.1;
			
			var dx2:Number = _onPositionXs[1] - _marus[1].x;
			var dy2:Number = _onPositionYs[1] - _marus[1].y;
			_marus[1].x += dx2*0.1;
			_marus[1].y += dy2*0.1;
			
			var dx3:Number = _onPositionXs[2] - _marus[2].x;
			var dy3:Number = _onPositionYs[2] - _marus[2].y;
			_marus[2].x += dx3*0.1;
			_marus[2].y += dy3*0.1;
			
			var dx4:Number = _onPositionXs[3] - _marus[3].x;
			var dy4:Number = _onPositionYs[3] - _marus[3].y;
			_marus[3].x += dx4*0.1;
			_marus[3].y += dy4*0.1;
			
			var dx5:Number = _onPositionXs[4] - _marus[4].x;
			var dy5:Number = _onPositionYs[4] - _marus[4].y;
			_marus[4].x += dx5*0.1;
			_marus[4].y += dy5*0.1;
		}
	}
}

Forked