Salve a tutti, sono nuovo del forum, ma sono anni che uso gamemaker. Ho sempre fatto giochini per passatempo e ora vorrei fare qualcosa di più articolato.
Sto creando un gioco con vista dall'alto dove un omino deve prendere gemme, bombe e chiavi. Sto usando la score per quanto riguarda i punti con le gemme,mentre per le bombe vorrei si potesse fare che quando ne prendo una aumenti la variabile fino a un massimo di 6 e che quando le uso, ovviamente, scenda. In più vorrei che comparisse lo sprite in alto a una coordinata specifica e che sparisca quando la variabile e uguale a zero. Sono riuscito a far si che quando uso le bombe distrugga un oggetto specifico, ma sono a destra, non riesco a far si che "l'esplosione" avvenga tenendo premuto un tasto più la direzione del muro. So che sto chiedendo tanto ma proprio non riesco. Sto provando sia con lo script che con i "mattoncini" ma nulla. Grazie in anticipo.
Problema variabili
-
- Newbie
- Messaggi: 8
- Iscritto il: 06/09/2017, 12:37
- Uso: GameMaker 8.1
- Contatta:
- Simsure
- Membro
- Messaggi: 223
- Iscritto il: 13/09/2013, 21:54
- Specialità: Programmazione
- Uso: GM:Studio 2
- Località: dietro di te...
- Contatta:
Re: Problema variabili
Ciao Sharkiller,proviamo ad andare per step:
Potresti usare i drag&drop (che credo tu chiami "mattoncini") come penso tu faccia avendo nominato lo score,però anche per iniziare ad impratichirti,il che ti tornerà utile,ti mostrerò come farlo in codice.
Lascia perdere gli score,puoi gestire tutti e 3 gli elementi:chiavi,gemme(punti) e bombe con delle variabili.
Per renderle facilmente utilizzabili da ogni oggetto nel tuo gioco e per semplificare un attimo,le renderemmo globali,ti basterà quindi crearle in un oggetto per poi poterle usare ovunque.
Prendiamo ad esempio il tuo giocatore,per ora puoi dichiarare qui le variabili usando questo codice nell'evento CREATE:
Adesso hai 3 variabili per tenere il conteggio di tutto.
Per modificarle ti basterà dire quando il giocatore tocca una gemma o una bomba o altro,questo:oppure
Cosi diminuisci o aumenti il contatore delle bombe,e se come hai detto vuoi porre un limite quando ne ottieni 6,ti basta usare un "IF"
Cioè se le tue bombe sono meno di 6,allora aggiunge una,altrimenti niente.
Per disegnare lo sprite ti conviene creare un oggetto apposito che gestisca l'interfaccia di gioco,io per esempi lo chiamo sempre "obj_HUD",al suo interno devi creare un evento "DRAW GUI" che serve apposta per scrivere o disegnare sopra lo schermo diciamo,partendo dalle coordinate (0,0) che corrisponde al punto in alto a sinistra nello schermo,quindi per disegnare per esempio lo sprite della bomba nell'angolo e a fianco il numero di bombe che possiedi puoi fare cosi:
Il primo disegna il frame 0 dello sprite bomba alle coordinate (0,0)
Il secondo scrive il numero della variabile "bomba" piu a destra dello sprite ma alla stessa altezza
Queste sono le funzioni che ho usato,se vuoi vedertele meglio
https://docs.yoyogames.com/source/dadio ... prite.html
https://docs.yoyogames.com/source/dadio ... _text.html
Per far si che tutto questo venga disegnato a schermo solo se hai almeno una bomba basta usare un'altro IF
Spero che questo ti sia utile per capire o approfondire meglio i concetti di variabili e condizioni e ti aiuti nel tuo gioco
Vorrei aiutarti anche per la questione di dove avviene l'esplosione,ma non ho capito bene cosa intendi,puoi spiegarmi meglio cosa succede o cosa vuoi che succeda quando usi una bomba?
Potresti usare i drag&drop (che credo tu chiami "mattoncini") come penso tu faccia avendo nominato lo score,però anche per iniziare ad impratichirti,il che ti tornerà utile,ti mostrerò come farlo in codice.
Lascia perdere gli score,puoi gestire tutti e 3 gli elementi:chiavi,gemme(punti) e bombe con delle variabili.
Per renderle facilmente utilizzabili da ogni oggetto nel tuo gioco e per semplificare un attimo,le renderemmo globali,ti basterà quindi crearle in un oggetto per poi poterle usare ovunque.
Prendiamo ad esempio il tuo giocatore,per ora puoi dichiarare qui le variabili usando questo codice nell'evento CREATE:
Codice: Seleziona tutto
globalvar gemme;
globalvar bombe;
globalvar chiavi;
gemme = 0
bombe = 0
chiavi = 0
Adesso hai 3 variabili per tenere il conteggio di tutto.
Per modificarle ti basterà dire quando il giocatore tocca una gemma o una bomba o altro,questo:
Codice: Seleziona tutto
bombe += 1
Codice: Seleziona tutto
bombe -= 1
Codice: Seleziona tutto
if bombe < 6
{bombe += 1}
Per disegnare lo sprite ti conviene creare un oggetto apposito che gestisca l'interfaccia di gioco,io per esempi lo chiamo sempre "obj_HUD",al suo interno devi creare un evento "DRAW GUI" che serve apposta per scrivere o disegnare sopra lo schermo diciamo,partendo dalle coordinate (0,0) che corrisponde al punto in alto a sinistra nello schermo,quindi per disegnare per esempio lo sprite della bomba nell'angolo e a fianco il numero di bombe che possiedi puoi fare cosi:
Codice: Seleziona tutto
draw_sprite(spr_bomba,0,0,0)
draw_text(32,0,bombe)
Il secondo scrive il numero della variabile "bomba" piu a destra dello sprite ma alla stessa altezza
Queste sono le funzioni che ho usato,se vuoi vedertele meglio
https://docs.yoyogames.com/source/dadio ... prite.html
https://docs.yoyogames.com/source/dadio ... _text.html
Per far si che tutto questo venga disegnato a schermo solo se hai almeno una bomba basta usare un'altro IF
Codice: Seleziona tutto
if bombe > 0
{
draw_sprite(spr_bomba,0,0,0)
draw_text(32,0,bombe)
}
Vorrei aiutarti anche per la questione di dove avviene l'esplosione,ma non ho capito bene cosa intendi,puoi spiegarmi meglio cosa succede o cosa vuoi che succeda quando usi una bomba?
Chi c’è in linea
Visitano il forum: Nessuno e 146 ospiti