How to detect collisions in AS3?
        Posted  
        
            by 
                Gabriel Meono
            
        on Game Development
        
        See other posts from Game Development
        
            or by Gabriel Meono
        
        
        
        Published on 2011-12-15T18:02:21Z
        Indexed on 
            2012/04/14
            5:41 UTC
        
        
        Read the original article
        Hit count: 548
        
I'm trying to make a simple game, when the ball falls into certain block, you win.
Mechanics: The ball falls through several obstacles, in the end there are two blocks, if the ball touches the left block you win, the next level will contain more blocks and less space between them.
Test the movie (click on the screen to drop the ball): http://gabrielmeono.com/downloads/Lucky_Hit_Alpha.swf
These are the main variables:
    var winBox:QuickObject;//You win
    var looseBox:QuickObject;//You loose
    var gameBall:QuickObject;//Ball dropped
Question:
How do I trigger a collision function if the ball hits the winBox? (Win message/Next level)
Thanks, here is the full code:
    package  {
    import flash.display.MovieClip;
    import com.actionsnippet.qbox.*;  
    import flash.events.MouseEvent;
    [SWF(width = 600, height = 600, frameRate = 60)]  
    public class LuckyHit extends MovieClip {
        public var sim:QuickBox2D;
        var winBox:QuickObject;
        var looseBox:QuickObject;
        var gameBall:QuickObject;
        /**
         * Constructor
         */
        public function LuckyHit()
        {
            sim = new QuickBox2D(this);  
            //sim.createStageWalls();
            winBox = sim.addBox({x:5,y:600/30, width:300/30, height:10/30, density:0});
            looseBox = sim.addBox({x:15,y:600/30, width:300/30, height:10/30, density:0});
            // make obstacles
            for (var i:int = 0; i<(stage.stageWidth/50); i++){ 
            //End
                 sim.addCircle({x:1 + i * 1.5, y:16, radius:0.1, density:0});
                 sim.addCircle({x:2 + i * 1.5, y:15, radius:0.1, density:0});
            //Mid End
                  sim.addCircle({x:0 + i * 2, y:14, radius:0.1, density:0});
                  sim.addCircle({x:0 + i * 2, y:13, radius:0.1, density:0});
                  sim.addCircle({x:0 + i * 2, y:12, radius:0.1, density:0});
                  sim.addCircle({x:0 + i * 2, y:11, radius:0.1, density:0});
                  sim.addCircle({x:0 + i * 2, y:10, radius:0.1, density:0});
            //Middle Start
                 sim.addCircle({x:0 + i * 1.5, y:09, radius:0.1, density:0});
                 sim.addCircle({x:1 + i * 1.5, y:08, radius:0.1, density:0});
                 sim.addCircle({x:0 + i * 1.5, y:07, radius:0.1, density:0});
                 sim.addCircle({x:1 + i * 1.5, y:06, radius:0.1, density:0});
            }
            sim.start();
            stage.addEventListener(MouseEvent.CLICK, _clicked);
        }
        /**
         * ..
         * @param e MouseEvent.CLICK
         */
        private function _clicked(e:MouseEvent)
        {
            gameBall = sim.addCircle({x:(mouseX/30), y:(1), radius:0.25, density:5});
        }
    }
}
© Game Development or respective owner