import flash.events.MouseEvent;
import flash.events.Event;
import flash.sensors.Accelerometer;
import flash.geom.Point;
import flash.display.Sprite;
btn.buttonMode = true;
btn.addEventListener( MouseEvent.CLICK, onClick );
var time:Number = 3;
var point1:Point;
var point2:Point;
var line:Sprite = new Sprite();
addChild( line );
function onClick( $e:MouseEvent ):void
{
btn.alpha = 0.2;
btn.removeEventListener( MouseEvent.CLICK, onClick );
b.x = p1.x;
b.y = p1.y;
a1.x = p1.x;
a1.y = p1.y;
a2.x = p2.x;
a2.y = p2.y;
point1 = vXY( new Point( p1.x, p1.y ), new Point( p2.x, p2.y ), time );
point2 = vXY( new Point( p2.x, p2.y ), new Point( p3.x, p3.y ), time );
addEventListener( Event.ENTER_FRAME, onEnter );
setTimeout( onEnterStop, time * 1000 );
}
var dx:Number = 0;
var dy:Number = 0;
var dist:Number = 0;
var angle:Number = 0;
var speed:Number = 0;
var vx:Number = 0;
var vy:Number = 0;
var a:Number = 0;
var gravity:Number = 0;
function onEnter( $e:Event ):void
{
gravity += 0.1;
a1.x += point1.x;
a1.y += point1.y;
a2.x += point2.x;
a2.y += point2.y;
dx = a2.x - a1.x;
dy = a2.y - a1.y;
dist = Math.sqrt( dx * dx + dy * dy );
angle = Math.atan2( dy, dx );
speed = dist / 30 / time;
vx = Math.cos( angle ) * speed;
vy = Math.sin( angle ) * speed;
b.rotation = vy * 20;
b.x += vx;
b.y += vy;
a += vx;
line.graphics.clear();
line.graphics.lineStyle( 1, 0xffffff, 0.5 );
line.graphics.moveTo( a2.x, a2.y );
line.graphics.lineTo( a1.x, a1.y );
}
function onEnterStop():void
{
removeEventListener( Event.ENTER_FRAME, onEnter );
btn.addEventListener( MouseEvent.CLICK, onClick );
btn.alpha = 1;
}
function vXY( $point1:Point, $point2:Point, $time:int ):Point
{
var dx:Number = $point2.x - $point1.x;
var dy:Number = $point2.y - $point1.y;
var dist:Number = Math.sqrt( dx * dx + dy * dy );
var speed:Number = dist / 60 / time;
var angle:Number = Math.atan2( dy, dx );
var vx:Number = Math.cos( angle ) * speed;
var vy:Number = Math.sin( angle ) * speed;
var speedPoint:Point = new Point( vx, vy );
return speedPoint;
}
'Starling > Game' 카테고리의 다른 글
Starling + node.js (2) | 2012.12.03 |
---|---|
Staring_슈팅게임_v3 (0) | 2012.11.30 |
Staring_슈팅게임_v2 (0) | 2012.11.21 |