Quick Switch Flash game prototype made with Box2D

A simple and addictive game which is interesting to deconstruct is Quick Switch. Use your mouse to hover over and activate platforms to guide your ball to the target.

In the making of this prototype, I’ll be using all body types Box2D allows me to use, so we have:

Static Bodies: will be used for platform which are always active

Dynamic Bodies: will be used for the ball

Kinematic Bodies: will be used for platform which need to be activated. If you don’t know what is a kinematic body, read understanding Box2D kinematic bodies.

To simplify the process of level design, I will start from the project basic Box2D editor using Flash movieclips.

So this is the final script:

And this is the result:

Hover the mouse over purple platform to make them solid and drive the ball into the green goal.

Now, let’s see the interesting part of this script, which is update function:

Line 85: looping through all bodies

Line 86: now it’s time to make different things according to body type

Lines 87-92: it’s a dynamic body (the falling ball): I just put it in its starting place if it falls down the stage

Lines 93-97: it’s a kinematic body (an activable platform): I turn it into a sensor. It’s the best thing to do to make it “transparent”. It does not react to collision.

Line 100: Now it’s time to check for mouse position and check for bodies under the mouse with queryCallback function.

This function simply scans for all fixtures inside the body under the mouse and does not make them sensors anymore.

And that’s it.

Download the source code.