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

by umhr forked from 5つの丸がランダムな位置に移動する3 (diff: 8)
ステージ上をクリックすると、丸がランダムな位置に移動します。
♥0 | Line 70 | Modified 2010-05-16 03:50:58 | 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/vW5A
 */

/*
ステージ上をクリックすると、丸がランダムな位置に移動します。
*/
package{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	public class Main extends Sprite{
		private var _maru:Sprite = new Sprite();
		private var _maru2:Sprite = new Sprite();
		private var _maru3:Sprite = new Sprite();
		private var _maru4:Sprite = new Sprite();
		private var _maru5:Sprite = new Sprite();
		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;
			}
			
			_maru.graphics.beginFill(0xFF0000);
			_maru.graphics.drawCircle(0,0,50);
			_maru.graphics.endFill();
			this.addChild(_maru);

			_maru2.graphics.beginFill(0xFF0000);
			_maru2.graphics.drawCircle(0,0,50);
			_maru2.graphics.endFill();
			this.addChild(_maru2);

			_maru3.graphics.beginFill(0xFF0000);
			_maru3.graphics.drawCircle(0,0,50);
			_maru3.graphics.endFill();
			this.addChild(_maru3);

			_maru4.graphics.beginFill(0xFF0000);
			_maru4.graphics.drawCircle(0,0,50);
			_maru4.graphics.endFill();
			this.addChild(_maru4);

			_maru5.graphics.beginFill(0xFF0000);
			_maru5.graphics.drawCircle(0,0,50);
			_maru5.graphics.endFill();
			this.addChild(_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] - _maru.x;
			var dy:Number = _onPositionYs[0] - _maru.y;
			_maru.x += dx*0.1;
			_maru.y += dy*0.1;
			
			var dx2:Number = _onPositionXs[1] - _maru2.x;
			var dy2:Number = _onPositionYs[1] - _maru2.y;
			_maru2.x += dx2*0.1;
			_maru2.y += dy2*0.1;
			
			var dx3:Number = _onPositionXs[2] - _maru3.x;
			var dy3:Number = _onPositionYs[2] - _maru3.y;
			_maru3.x += dx3*0.1;
			_maru3.y += dy3*0.1;
			
			var dx4:Number = _onPositionXs[3] - _maru4.x;
			var dy4:Number = _onPositionYs[3] - _maru4.y;
			_maru4.x += dx4*0.1;
			_maru4.y += dy4*0.1;
			
			var dx5:Number = _onPositionXs[4] - _maru5.x;
			var dy5:Number = _onPositionYs[4] - _maru5.y;
			_maru5.x += dx5*0.1;
			_maru5.y += dy5*0.1;
		}
	}
}

Forked