Latest Uploads
Platdude Spotting


Nom nom nom


Rainbow Trout


King Salmon




You've ... o have you


Back to steve_ancell's Blog ( Created 08 August 2016 | Last Edited 08 August 2016)
Monkey-X Box2D: Learning from my perspective... Hopefully!
Learning Box2D with Monkey-X: Based on my personal experience.

So, I decided to have a go at using the Box2D/monkeybox2d module. At the moment I've been attempting to break down some tutorials,
which were kindly provided by skid over at, into small chunks in order to make it more understandable.

This was done to help me understand how to use the Box2D module, but maybe whoever else is reading this may also benefit from this too.
Over time I will break down, or maybe just break it altogether, what I learn into code snippets that I hope can become useful to me and whoever.
I will start with showing results as a debug drawing and then hopefully transition over to proper graphics as this progresses,
I just hope I don't wind up boring you all in the process.

I have so far isolated the part that creates the world with noting else in it, I will add more to this blog as I go along.

Creating the world:

This is the bare-essentials for setting up a Box2D environment.

Although stuff could probably be done in the C_Game class, which is what I originally intended as to try simplifying what does what,
it seems to be easier to handle if the Box2D stuff is inside of another class like I've done here with the C_Box2D class.


Next: Will be adding some rectangles to the environment, stay tuned!


In this installment I will be adding some stuff that fills the environment with, well..., stuff!.
In this case it will be stationary and falling rectangles.

I've added a few methods and static globals, listed below.

Inside C_Box2D:
Global FixtureDef:= New b2FixtureDef()
Global BodyDef:=New b2BodyDef()
Global Impulse:=New b2Vec2


Inside C_Game





Latest Comments

Posted : Monday, 08 August 2016, 03:56

Instead of keep adding comments I will just edit the main blog as I add stuff, this will help to keep any other comments separate from the stuff above.

Homepage :
Posted : Monday, 08 August 2016, 04:00

"Only adding to the main blog" will only ever add to the main blog. It won't flag up the new content as an unread post in the sidebar.
As such, be sure to post a comment, like "Today I tackled X/achieved Y/broke Z" if it's been a while since the last update. (eg a few hours, not spamming every 10 seconds )

Homepage :
Posted : Monday, 08 August 2016, 04:02

OKies, I'll do it like that instead.

Homepage :
Posted : Monday, 08 August 2016, 05:11

Added a new method, AddBall... Now it has balls!!!

That's it for the time being, I am now off to learn how to apply forces, and torque to balls. I did say torque, not talk; not that I talk to balls, unlike Tom Hanks, but then again some do.


Homepage :
Posted : Tuesday, 09 August 2016, 07:06

Today I've been toying around with torque. I've now defined a 2dBody in the ball field and applied torque to that. I also changed the platforms for a bit of fun.

Left and right arrows roll the ball in the relevant direction. I did originally include a DrawText command to show this on screen, but DrawText seems to make the framerate rather shite.


Next: Not sure yet, maybe I'll look into adding graphics for the next installment. Stay tuned!

Homepage :
Posted : Friday, 12 August 2016, 09:00

I'm a big kid, look what I can do!... Me been playing with compound shapes.

Remove the F_DebugMessage commands from OnUpdate in the C_Game class if you want the simulation to run at full chat.


Homepage :
Posted : Friday, 12 August 2016, 13:40

One problem has arisen, the left polygon in the compound shape doesn't seem to be colliding with the circle.

*Back to the drawing board in search of a solution*

Homepage :
Posted : Saturday, 13 August 2016, 09:14

I've found that compound shapes collide a whole lot better whn the vertices are added when the first vector is added at top left and the rest are added in a clockwise fashion.

Also been using actual images with this, I will post in here again once I get something more stable going.

Homepage :
Posted : Saturday, 20 August 2016, 06:32

I've been having a roustabout with top-down car physics. A bit crappy and uncontrollable I know, but it's a start.

From the code, most of this is quite self explanatory.

[Edit]Oops!, I forgot to include the media |edit|

Highslide JS This goes in "root\\Graphics"


Homepage :
Posted : Sunday, 21 August 2016, 14:49

I have found that top down car physics is easier to impliment with a single rectangular body without the wheels. It's now a lot easier to control but it now moves like it's on a track, it needs to have some sort of sideways inertia to give it the feeling of drift on tight corners. i'm planning on trying some sort of dual-mass approach, in the meantime here is the code for what I've done recently.


Homepage :
-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 548|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Latest Posts
Laptop Aaargh...
Jayenkai Wed 17:48
Happy Birthday Evil Roy Ferguson
rockford Wed 16:21
London Car/Stab Incident
therevillsgames Wed 14:50
Watch Switch - Fitbit Blaze
Jayenkai Wed 06:23
Spinal's Return to Android
Jayenkai Tue 13:41
AGameAWeek : 2017 - Part One
Jayenkai Tue 08:10
Poll : Cooking
Jayenkai Mon 05:11
Happy Birthday, TheRevillsGames
Dabz Sun 23:32
Ravetastically Awesome!
rockford Sun 07:41
B3ta - Old Gamers
Jayenkai Fri 16:51

Latest Items
Showcase : Infinitron
rychan Tue 03:02
Blog : My Arduino experience.
steve_ancell Mon 20:27
Dev-Diary : PS2 to N64 Adapter
spinal Sun 10:49
Link : Vector Tutorials/Help page.
Pakz Thu 23:00
Blog : mini project
spinal Sun 10:13
Showcase : Blockman Returns
Jayenkai Fri 03:04
Snippet : Wall Tracing on Random Maps (rpg)
rskgames Wed 22:48
Snippet : Path Following
Pakz Mon 16:25
Snippet : Flowers (Jan 2017)
Kuron Thu 01:13
Showcase : Clusters of Hex
therevillsgames Mon 15:01
Article : Maths 101 - Episode 1: Basic Trigonometry
shroom_monk Sun 14:07
Article : Maths 101 - Episode 5: Line Intersection
shroom_monk Sun 14:02
Dev-Diary : Normals and Dot products
Pakz Sat 20:37
Pets : Molly On The Couch
Jayenkai Thu 04:32
Snippet : Additive Particle Flames
Pakz Fri 18:12

Who's Online
Wed, at 19:53
Wed, at 19:14
Wed, at 19:09
Wed, at 18:03
Wed, at 17:57
Wed, at 17:37
Wed, at 16:21
Wed, at 15:46
Wed, at 15:32
Wed, at 14:27
Link to this page
Site : Jayenkai 2006-Infinity | MudChat's origins, BBCode's former life, Image Scaler.