GSDP:GAM100/CProcessing/SetNextGameStateForced()

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();    
}

See Also