(Uso l'ultimissima versione di Game Maker Studio 2: 2.3.2.560 ).
ESEMPIO 1 (cambiare gli stati con switch):
Codice: Seleziona tutto
//QUELLO CHE SUCCEDE ALL'INTERNO DEGLI SCRIPT
function script_state_IDLE () {
if (key_fly) state = BUG_STATE.FLY;
}
function script_state_FLY () {
if (on_floor) state = BUG_STATE.LANDING;
}
function script_state_LANDING () {
if (end_animation) state = BUG_STATE.IDLE;
}
//EVENTO CREATE
enum BUG_STATE
{
IDLE,
FLY,
LANDING
}
state = BUG_STATE.IDLE;
//EVENTO STEP
switch (state)
{
case BUG_STATE.IDLE: script_state_IDLE (); break;
case BUG_STATE.FLY: script_state_FLY (); break;
case BUG_STATE.LANDING: script_state_LANDING (); break;
}
ESEMPIO 2 (memorizzare lo script interessato in una variabile ed eseguirlo nell'evento step):
Codice: Seleziona tutto
//QUELLO CHE SUCCEDE ALL'INTERNO DEGLI SCRIPT
function script_state_IDLE () {
if (key_fly) state = script_state_FLY;
}
function script_state_FLY () {
if (on_floor) state = script_state_LANDING ;
}
function script_state_LANDING () {
if (end_animation) state = script_state_IDLE ;
}
//EVENTO CREATE
state = script_state_IDLE;
//EVENTO STEP
state(); //ESEGUE LO SCRIPT DELLO STATO INTERESSATO
Spero che qualcuno di voi mi illumini, grazie!