Click to Destroy QB2D

by shapevent
This shows how to destroy QuickObjects when the are clicked
♥0 | Line 31 | Modified 2010-11-29 04:27:37 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.utils.Dictionary;
    
    public class FlashTest extends MovieClip {
        import com.actionsnippet.qbox.*;
        
        private var sim:QuickBox2D;
        private var circles:Array;
        private var lookup:Dictionary;
        public function FlashTest() {
            sim = new QuickBox2D(this);
            sim.createStageWalls();
            lookup = new Dictionary();
            
            circles = [];
            for (var i:int = 0; i<10; i++){
               var xp:Number = stage.stageWidth / 30 * Math.random()
               var yp:Number = stage.stageWidth / 30 * Math.random()
               
               var circle:QuickObject;
               circle = circles[i] = sim.addCircle({x: xp, y: yp, radius: 0.5});
               // use a dictionary so that we can look up the correct QuickObject
               // to destroy when the userData DisplayObject is clicked
               lookup[circle.userData] = circle; 
               circle.userData.buttonMode = true;
               circle.userData.addEventListener(MouseEvent.CLICK, onDestroy);  
            }
            
            sim.start();
            
        }
        private function onDestroy(evt:MouseEvent):void{
            evt.currentTarget.removeEventListener(MouseEvent.CLICK, onDestroy);
            lookup[evt.currentTarget].destroy();
            
        }
    }
}

Forked