![]() |
Box2D Cannon Game with Stars
Chapter 8 of Ian Parberry's "Introduction to Game Physics with Box2D"
|
The cannon object. More...
#include <cannon.h>
Public Member Functions | |
| CCannon () | |
| Constructor. | |
| void | create () |
| Create a cannon. | |
| void | Explode () |
| Make cannon explode. | |
| BOOL | Fire () |
| Fire the cannon. | |
| void | BarrelUp (float angle) |
| Rotate the cannon barrel up. | |
| void | StartMovingLeft (float speed) |
| Start the cannon moving. | |
| int | BallsFired () |
| Get number of cannonballs fired in this level. | |
| BOOL | IsDead () |
| Whether cannon has exploded. | |
| void | CoolDown () |
| Cannon temperature drops over time. | |
| void | Reset () |
| Reset cannon to initial conditions. | |
Friends | |
| class | CObjectWorld |
The cannon object.
The cannon object is a composite made up of several sprites in Render World and several bodies in Physics World. It is intended to represent the player.
| int CCannon::BallsFired | ( | ) |
Get number of cannonballs fired in this level.
Number of cannonballs fired in this level of the game.
| void CCannon::BarrelUp | ( | float | angle | ) |
Rotate the cannon barrel up.
Rotate cannon barrel a small amount.
| angle | Angle increment in radians. Positive means up, negative means down. |
| void CCannon::CoolDown | ( | ) |
Cannon temperature drops over time.
Cool the cannon's temperature, unless it is too high already, in which case it explodes.
| void CCannon::create | ( | ) |
Create a cannon.
Create cannon in Physics World and Object World, linking the two representations together.
| void CCannon::Explode | ( | ) |
Make cannon explode.
Make cannon explode. Destroy the joints, apply impulses to cannon parts so that they fly apart, and reset their collision group indices so that they can collide.
| BOOL CCannon::Fire | ( | ) |
Fire the cannon.
Fire the cannon. If enough time has passed for reloading, create a cannonball in both Render World and Physics World, and send it on its way. Apply a recoil impulse to the cannon in Physics World. Increment the cannon's temperature. All this is assuming that the cannon isn't nose down and hasn't already exploded.
| BOOL CCannon::IsDead | ( | ) |
Whether cannon has exploded.
Determine whether the cannon is dead.
| void CCannon::Reset | ( | ) |
Reset cannon to initial conditions.
Reset the cannon to initial conditions.
| void CCannon::StartMovingLeft | ( | float | speed | ) |
Start the cannon moving.
Start cannon moving.
| speed | Speed of cannon. Positive means left, negative means right. |
1.8.2