GSDP:GAM100/CProcessing/SetNextGameStateForced()
From Inside
< GSDP:GAM100 | CProcessing
SetNextGameStateForced()
Description
This sets the next state for the program to enter. This will call the shutdown function of the current state if own exists. Calling SetNextGameStateForced() allows you to reset your current game state, while SetNextGameState() with the current game state will not.
Parameters
SetNextGameState(FunctionPtr init, FunctionPtr update, FunctionPtr shutdown)
- init - (FunctionPtr) The name of the function called once when the state first begins. This can be NULL if no initialization is needed for your state.
- update - (FunctionPtr) The name of the function called every frame to update the state.
- shutdown - (FunctionPtr) The name of the function called when you leave a state. This occurs when you call SetNextGameState() or SetNextGameStateForced() to change states. This can be NULL if no cleanup is needed for your state.
Example Usage
// Horizontal position of the square
float x_pos;
void init()
{
// Start the square at the left of the screen
x_pos = 0;
// Set the square to draw yellow
fill(color(255, 255, 0, 255));
}
void update()
{
// Set background to black
background(color(0, 0, 0, 255));
// Draw the square
rect(x_pos, (float)canvasHeight / 2.0f, 100, 100);
x_pos += 2;
// If space pressed, reset the state
if (keyPressed(KEY_SPACE))
SetNextGameStateForced(init, update, NULL);
}
CP_main
{
// Set the initial game state
SetNextGameState(init, update, NULL);
// Run the program
Run();
}