Come creare un timer in GameMaker
La suite di sviluppo Game Maker di YoYo Games è popolare per permettere a sviluppatori novizi di creare i giochi dei loro sogni senza conoscenze di programmazione. Tuttavia, alcune funzionalità non hanno funzioni pronte nell'interfaccia. Qui lo sviluppatore intraprendente deve scrivere il proprio codice. Un caso è un timer di gioco che limita il giocatore a un certo tempo per completare un livello.
Passaggio 1: Creare oggetto timer
Crea un oggetto tasto destro su Objects → Create Object. Nominalo timer. Non assegnare uno sprite.
Passaggio 2: Evento Create
Clicca Add Event → Create. Questo crea il codice che avviene all'avvio del gioco.
Passaggio 3: Impostare room_speed
Vai scheda Control e trascina l'icona quadrato con VAR nel pannello Actions. È l'azione set variable per memorizzare info. Nella finestra popup, dai alla variabile nome room_speed e valore 30. Dice al gioco di funzionare a 30 fps. Importante: Game Maker ricorda solo il numero di frame mostrati, non il tempo trascorso.
Passaggio 4: Impostare secondi
Trascina un altro set variable. Nome variabile seconds, valore 10. È il tempo del timer.
Passaggio 5: Creare allarme a 1 secondo
Scheda Main 2, trascina icona cronometro (set alarm) in Actions. Imposta number of steps su room_speed. Poiché room_speed dice quanti frame in un secondo, imposti un allarme che scatti dopo quei frame — cioè dopo un secondo.
Passaggio 6: Evento Alarm
Clicca Add Event → Alarm per creare il codice che avviene ogni secondo quando l'allarme scatta.
Passaggio 7: Decrementare secondi
Trascina set variable, imposta variabile seconds a -1 e spunta relative. Dice a Game Maker di sottrarre 1 a seconds invece di impostarlo a -1.
Passaggio 8: Testare se tempo scaduto
Trascina icona test variable (VAR in ottagono). Variabile da testare: seconds, valore da testare: 0.
Passaggio 9: Terminare gioco a tempo zero
Scheda Main 2, trascina icona End Game (pulsante rosso power-off) in Actions. Finisce il gioco quando seconds raggiunge zero.
Passaggio 10: Reset allarme (else)
Scheda Control, trascina icona ELSE in Actions. Dice cosa fare quando seconds non è zero: useremo per resettare l'allarme. Scheda Main 2, trascina set alarm in Actions. Riporta allarme a room_speed.
Passaggio 11: Disegnare timer a schermo
Add Event → Draw. Il timer funziona ma il giocatore deve vederlo. Trascina Draw Variable da Control e inserisci seconds nella casella variabile.
Passaggio 12: Testare
Crea una room: tasto destro rooms → create room. Clicca sulla griglia per aggiungere oggetto timer. Clicca spunta verde save e freccia verde run. Il gioco dura 10 secondi, con timer in alto a sinistra. A zero, il gioco finisce.