forked from: forked from: forked from: Box2D Magnet - 0G - no border

by ohisama
import flash.text.*;
♥0 | Line 31 | Modified 2013-02-26 12:43:30 | MIT License
play

ActionScript3 source code

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

// forked from k9design's forked from: forked from: Box2D Magnet - 0G - no border
// forked from Antoan's forked from: Box2D Magnet
// forked from shapevent's Box2D Magnet
package 
{
    import flash.display.*;
    import flash.events.*;
    import com.actionsnippet.qbox.*;
    import Box2D.Common.Math.*;    
    public class FlashTest extends MovieClip 
    {
        private var sim : QuickBox2D;
        private var big : QuickObject, little : QuickObject, big2 : QuickObject;
        private var dir : b2Vec2, dir2 : b2Vec2, currVel : b2Vec2;
        private var ang : Number, intensity : Number = 1; 
        public function FlashTest() 
        {
            sim = new QuickBox2D(this);
            sim.gravity = new b2Vec2(0, 0)
            big = sim.addCircle({x : 7, y : 7, radius : 1, density : 20});
            little = sim.addCircle({x : 3, y : 12, radius : 0.5, friction : 5});
            sim.start();
            addEventListener(Event.ENTER_FRAME, onLoop);
        }
        private function onLoop(e : Event) : void
        {
            intensity = 1;
            ang = Math.atan2(big.y - little.y, big.x - little.x);            
            currVel = little.body.GetLinearVelocity();
            dir = new b2Vec2(currVel.x + intensity * Math.cos(ang), currVel.y + intensity * Math.sin(ang));
            little.body.SetLinearVelocity(dir);
           
        }
    }
}