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
forked from コードを短くするにはどうすればよいですか? (diff: 61)
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;
}
}
}
