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: forked from: flash on 2010-1-13

by Tamanegi_kenshi forked from コードを短くするにはどうすればよいですか? (diff: 61)
♥0 | Line 71 | Modified 2010-02-14 12:10:50 | MIT License
play

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/3m5b
 */

// forked from Tamanegi_kenshi's 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
package{
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.MouseEvent;
 
 public class sp extends Sprite{
 	private var ball:Sprite;
 	private var ball2:Sprite;
 	private var ball3:Sprite;
 	private var spring:Number = 0.2;	
 	private var spring2:Number = 0.07;	
 	private var vx:Number = 0;
 	private var vx2:Number = 0;
 	private var vx3:Number = 0;
 	private var gravity:Number = 5;
 	private var vy:Number = 0;
 	private var vy2:Number = 0;
 	private var vy3:Number = 0;
 	private var friction:Number =0.95;
 	public function sp(){
 		init();
 		
 		}
 	private function init():void{
 		ball = new Sprite();
 		with(ball.graphics){
 		  beginFill(0x000000);
 		  drawCircle(0,0,20);
 		  endFill();
 			}
 		addChild(ball);
 	
 		
 		ball2 = new Sprite();
 		with(ball2.graphics){
 		  beginFill(0x000000);
 		  drawCircle(0,0,20);
 		  endFill();
 			}
 		addChild(ball2);
 		
 		ball3= new Sprite();
 		with(ball3.graphics){
 		  beginFill(0x000000);
 		  drawCircle(0,0,20);
 		  endFill();
 			}
 		addChild(ball3);
 		
 		
 		addEventListener(Event.ENTER_FRAME,onEnterFrame);
 		ball.addEventListener(MouseEvent.MOUSE_DOWN,down);
 		ball.addEventListener(MouseEvent.MOUSE_UP,up);
 		}
 	private function onEnterFrame(event:Event):void{
 	    moveBall(ball,300,300);  
 		}
 	private function down(event:MouseEvent):void{
 		startDrag();
 		}
 	private function up(event:MouseEvent):void{
 		stopDrag();
 		}		
 		
 	private function moveBall(ball:Sprite,targetX:Number,targetY:Number):void{
 		var dx:Number =(targetX -ball.x);
 	    var dy:Number =(targetY-ball.y);
 	    var ax:Number =dx*spring;
 	    var ay:Number =dy*spring;
 	    vx +=ax;
 	    vx *=friction;
 	    vy +=ay;
 	    vy *=friction;
 	    vy +=gravity;
 	    ball.x+=vx;
 	    ball.y +=vy;
 	}

 	}
		
}