Problema in un gioco che sto abbozzando

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
marcyblaze
Membro
Messaggi: 81
Iscritto il: 02/10/2014, 19:41
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: sotto i ponti
Contatta:

Problema in un gioco che sto abbozzando

Messaggio da marcyblaze »

Ciao a tutti,
ho bisogno di un aiuto dai saggi di GM.
Con GM Studio ho un problema: non so come si fa in modo che il pallone da basket rimbalza a terra e segue il giocatore che la sta palleggiando.Come si fa?
Sicuramente mi serviranno altri aiuti di diverso tipo sempre dello stesso gioco u.u

Avatar utente
civic71
GMI Advanced
Messaggi: 2210
Iscritto il: 23/10/2003, 17:31
Specialità: Risotto con zucchine
Uso: GM:Studio 1.4 Pro
Località: Jesolo (venezia)
Contatta:

Re: Problema in un gioco che sto abbozzando

Messaggio da civic71 »

Bhè ci sono vari metodi . Per esempio si potrebbe cambiando una variabile da true a false affinché si determini l'aggiunta o meno dell' object palla. Vediamo ...
Creiamo 2 objects uno del giocatore ( obj_giocatore) ed uno per la palla ( obj_palla) entrambi con il relativo sprite .
Nella room inserisci per primo l'obj_palla e solo dopo l'obj_giocatore.

Nell' evento Create dell' object giocatore metti la variabile :

Codice: Seleziona tutto

 palla=false;
Quando il tuo giocatore riceve la palla ( il come lo decidi tu ) tale variabile divine :

Codice: Seleziona tutto

 palla=true;
Nell evento Step dell' object giocatore mettiamo il codice che permetta alla palla di rimanere sempre attaccata ad esso :

Codice: Seleziona tutto

 if ( palla==true ) { obj_palla.x=x; obj_palla.y=y; } 
Ora nel caso la palla venga disegnata dietro al giocatore dovresti modificarne la variabile depth.

Ma questo non permetterà alla palla di rimbalzare perché la posizione y sarà permanente a quella del giocatore.
A questo punto ci sono altri metodi per animare il rimbalzo :
  • dal cambio dello sprite della palla ( da statico ad uno con animazione del rimbalzo );
  • al cambio dell' object_palla con un nuovo obj_palla_2 che contenga l'animazione ed eventuali nuove funzioni.
  • al rendere invisibile l' obj_palla e cambiare lo sprite del giocatore con uno uguale ma che ne contenga già la palla che rimbalza.
  • Alla continua modifica della variabile y dell obj_palla nell evento step ( ma ciò comporta la modifica del precedente mio codice ).
  • a probabili altri metodi.

Avatar utente
marcyblaze
Membro
Messaggi: 81
Iscritto il: 02/10/2014, 19:41
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: sotto i ponti
Contatta:

Re: Problema in un gioco che sto abbozzando

Messaggio da marcyblaze »

civic71 ha scritto:Bhè ci sono vari metodi . Per esempio si potrebbe cambiando una variabile da true a false affinché si determini l'aggiunta o meno dell' object palla. Vediamo ...
Creiamo 2 objects uno del giocatore ( obj_giocatore) ed uno per la palla ( obj_palla) entrambi con il relativo sprite .
Nella room inserisci per primo l'obj_palla e solo dopo l'obj_giocatore.

Nell' evento Create dell' object giocatore metti la variabile :

Codice: Seleziona tutto

 palla=false;
Quando il tuo giocatore riceve la palla ( il come lo decidi tu ) tale variabile divine :

Codice: Seleziona tutto

 palla=true;
Nell evento Step dell' object giocatore mettiamo il codice che permetta alla palla di rimanere sempre attaccata ad esso :

Codice: Seleziona tutto

 if ( palla==true ) { obj_palla.x=x; obj_palla.y=y; } 
Ora nel caso la palla venga disegnata dietro al giocatore dovresti modificarne la variabile depth.

Ma questo non permetterà alla palla di rimbalzare perché la posizione y sarà permanente a quella del giocatore.
A questo punto ci sono altri metodi per animare il rimbalzo :
  • dal cambio dello sprite della palla ( da statico ad uno con animazione del rimbalzo );
  • al cambio dell' object_palla con un nuovo obj_palla_2 che contenga l'animazione ed eventuali nuove funzioni.
  • al rendere invisibile l' obj_palla e cambiare lo sprite del giocatore con uno uguale ma che ne contenga già la palla che rimbalza.
  • Alla continua modifica della variabile y dell obj_palla nell evento step ( ma ciò comporta la modifica del precedente mio codice ).
  • a probabili altri metodi.
Problema:
In Object LBJ(nome giocatore) ,in Event CreateEvent action number 1 at line 2 : Cannot see a costant to a value
In Object LBJ ,in Event KeyPressed_BACKSPACE_(per passare) action 1 at line 2 : Cannot see a costant to a value

Cosa devo fare/ho sbagliato?
Devo settare prima la variabile?E come si fa con il vero/falso?

Avatar utente
Vallo92
GMI Advanced
Messaggi: 1508
Iscritto il: 15/07/2011, 20:26
Specialità: Grafico
Uso: GM:Studio 2
Contatta:

Re: Problema in un gioco che sto abbozzando

Messaggio da Vallo92 »

Si fa esattamente come ti ha descritto civic.
Nel Create imposta ad esempio

Codice: Seleziona tutto

palla = false;
in questo modo creerai una variabile "palla" settata a "false" (se ti torna meglio puoi scrivere anche "palla = 0;"). Dopodiché potrai utilizzarla senza problemi nelle altre parti di codice dell'oggetto.
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Problema in un gioco che sto abbozzando

Messaggio da gameplay_extreme »

mancano le linee incriminate.

tieni presente che non ho fatto ricerche e non ho ide GM o il manuale sottomano, scrivo solo in base a ciò che mi ricordo per esperienza e in base ciò che mi sembra logico.

se intendi
"Cannot set a costant to a value"

significa "impossibile impostare una costante a un valore"

le costanti sono (per definizione) a contenuto fisso da stabilire in partenza,
quindi dovresti essere in uno dei seguenti casi:

- hai dichiarato una costante (sinceramente non mi ricordo come si faccia, non le mai usate perché originariamente erano una feature della pro: tendevo a usare poco le feature pro), le hai assegnato un valore e successivamente hai cercato di cambiarle dinamicamente valore.

- hai scritto una cosa tipo pi = 10. Non puoi: Pi è 3,14 (circa) è non si può cambiare.

- hai scritto una cosa tipo 3 = 10 (cioè 3 è 3 e quindi, in un certo senso, può essere visto come una costante e quindi l'espressione genera l'errore di cui sopra. A dire il vero GM vede di solito "3 = 10" come un test *, però magari capisce che non può esserlo perché manca l' if, credo, ora non posso verificare).

- hai scritto xx = 10, dove xx è sia il nome di variabile che il nome di un nome di oggetto (cioè un "conflitto" causato da nomi identici dati a più risorse). I nomi degli oggetti, alla fine, in game maker sono una sorta di costanti numeriche (in altre parole contengono un codice numerico immodificabile, anche da parte del programmatore, quindi un' assegnazione causerebbe errore). A onor del vero mi sembrava che in studio questi conflitti venissero segnalati, però non ricordo...magari controlla.

se invece intendi proprio
"Cannot see a costant to a value"
non ho idea di cosa voglia dire.

(*) "3 = 10" come test non a molto senso, ma comunque non avrebbe errori di sintassi.
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Avatar utente
marcyblaze
Membro
Messaggi: 81
Iscritto il: 02/10/2014, 19:41
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: sotto i ponti
Contatta:

Re: Problema in un gioco che sto abbozzando

Messaggio da marcyblaze »

gameplay_extreme ha scritto:mancano le linee incriminate.

tieni presente che non ho fatto ricerche e non ho ide GM o il manuale sottomano, scrivo solo in base a ciò che mi ricordo per esperienza e in base ciò che mi sembra logico.

se intendi
"Cannot set a costant to a value"

significa "impossibile impostare una costante a un valore"

le costanti sono (per definizione) a contenuto fisso da stabilire in partenza,
quindi dovresti essere in uno dei seguenti casi:

- hai dichiarato una costante (sinceramente non mi ricordo come si faccia, non le mai usate perché originariamente erano una feature della pro: tendevo a usare poco le feature pro), le hai assegnato un valore e successivamente hai cercato di cambiarle dinamicamente valore.

- hai scritto una cosa tipo pi = 10. Non puoi: Pi è 3,14 (circa) è non si può cambiare.

- hai scritto una cosa tipo 3 = 10 (cioè 3 è 3 e quindi, in un certo senso, può essere visto come una costante e quindi l'espressione genera l'errore di cui sopra. A dire il vero GM vede di solito "3 = 10" come un test *, però magari capisce che non può esserlo perché manca l' if, credo, ora non posso verificare).

- hai scritto xx = 10, dove xx è sia il nome di variabile che il nome di un nome di oggetto (cioè un "conflitto" causato da nomi identici dati a più risorse). I nomi degli oggetti, alla fine, in game maker sono una sorta di costanti numeriche (in altre parole contengono un codice numerico immodificabile, anche da parte del programmatore, quindi un' assegnazione causerebbe errore). A onor del vero mi sembrava che in studio questi conflitti venissero segnalati, però non ricordo...magari controlla.

se invece intendi proprio
"Cannot see a costant to a value"
non ho idea di cosa voglia dire.

(*) "3 = 10" come test non a molto senso, ma comunque non avrebbe errori di sintassi.
Si,hai ragione,era set,non capisco come ho potuto sbagliare a vedere.
Quindi cosa dovrei fare?Non ho capito niente. Devo fare che quando bremo la barra spaziatrice il giocatore passa il pallone e quando la riremo lo riprende.

Avatar utente
Scario
Moderatore
Messaggi: 2707
Iscritto il: 26/05/2003, 20:29
Specialità: Tergiversare
Uso: GM:Studio 2
Contatta:

Re: Problema in un gioco che sto abbozzando

Messaggio da Scario »

marcyblaze ha scritto: Con GM Studio ho un problema: non so come si fa in modo che il pallone da basket rimbalza a terra e segue il giocatore che la sta palleggiando.Come si fa?
marcyblaze ha scritto: Devo settare prima la variabile?E come si fa con il vero/falso?
marcyblaze ha scritto: Devo fare che quando bremo la barra spaziatrice il giocatore passa il pallone e quando la riremo lo riprende.
Ciao marcyblaze, un consiglio: cambia approccio al tuo problema. Da come scrivi hai più lacune di linguaggio che reali problemi che non riesci a risolvere. Spezza il tuo problema, affrontalo una parte per volta, provaci, riprovaci e scrivi qui il codice che usi e che non capisci perchè proprio non vuole funzionare piuttosto che fare un collage di soluzioni trovate sul forum e pensate solo da altri. E' utile adesso e lo sarà ancora di più per il futuro, fidati ;)
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Bing [Bot] e 36 ospiti