Pagina 1 di 1

Cambiare lo sparo

Inviato: 23/02/2016, 13:54
da frenky
Buongiorno, sono fresco del forum e del game maker, sto creando un gioco in stile spaziale vorrei che la mia navetta cambiasse lo sparo ogni volta che prendo un nuovo sparo nel gioco, mi spiego uccido un nemico e dopo averlo ucciso rilascia un nuovo sparo, non so se si puo fare spero possiate aiutarmi, per caso non esistono guide complete su come creare questo tipo di giochi oppure un punto e clicca di cui vado matto ? grazie a tutti per l aiuto

Re: Cambiare lo sparo

Inviato: 23/02/2016, 15:47
da innominato
Se il proiettile che spari è una sprite, potresti creare tante sotto immagini diverse e poi cambiare lo sparo con image_index.

Ti faccio un esempio
Sprite_sparo contiene 3 sottoimmagini, ovvero 3 spari diversi:
nel create event metti

Codice: Seleziona tutto

image_index = 0;
image_speed = 0;
Appena ricevi il nuovo sparo:

Codice: Seleziona tutto

image_index += 1;

Re: Cambiare lo sparo

Inviato: 23/02/2016, 15:54
da frenky
Ti ringrazio provo subito, si e uno sprite lo sparo, spero di aver capito bene e ancora tutto nuovo per me:)

Re: Cambiare lo sparo

Inviato: 23/02/2016, 17:16
da innominato
ti consiglio cliccare in alto a sinistra su "Manuale italiano", li ci sono scritte tante belle cose

Re: Cambiare lo sparo

Inviato: 23/02/2016, 18:36
da gameplay_extreme
Innominato, image_index è una variabile "di istanza", non mi pare che tu ne abbia tenuto conto...

Re: Cambiare lo sparo

Inviato: 23/02/2016, 20:00
da innominato
gameplay_extreme ha scritto:Innominato, image_index è una variabile "di istanza", non mi pare che tu ne abbia tenuto conto...
Ok, errore mio, ho dato per scontato un po' di cose (e inoltre, alla fine, il codice che ho scritto prima è sbagliato se viene usato cosi). Mi spiego meglio.

Allora frenky, probabilmente gli oggetti in questione sono 4. La navicella, il proiettile e il nemico e il nuovo sparo (che rilascia il nemico una volta morto, se non ho capito male magari potrebbe essere una sorta di pacchetto regalo o bonus che bisogna andarsi a prendere, quindi lo chiamerò "bonus sparo")

Ora sto supponendo che la navicella crea ogni tot un proiettile e che se questo colpisce un nemico succedono due cose.
-Il proiettile e il nemico si distruggono
-viene creato il "bonus sparo" che poi andrai a prendere con la navicella.

Se non é cosi, allora l'esempio che ti sto per fare non va bene.

Dunque, puoi procedere ad esempio cosi:


Evento create dell'oggetto navicella ( che da ora in poi chiamerò obj_nav ):

Codice: Seleziona tutto

 var_sparo=0;
Evento collisione nell'oggetto bonus_sparo con la navicella(obj_nav):

Codice: Seleziona tutto

 obj_nav.var_sparo += 1;/*incrementa di 1 la variabile var_sparo che sta nell'evento navicella. 
                                Che vuol dire? Ho messo, davanti alla variabile var_sparo, "obj_nav." proprio 
                                perchè ci stiamo riferendo ad una variabile che sta dentro un'altro oggetto, 
                                in questo caso obj_nav.*/
instance_destroy();/*elimina l'oggetto bonus_sparo, dato che ormai è stato preso*/
Ok, ho supposto che la navicella crei gli spari, magari ad un intervallo di tempo o magari perchè premi un tasto. In ogni caso non ci interessa. Quello che ci interessa è un'altra cosa. Lo sparo, quando viene creato, deve essre del tipo giusto.

Ti crei uno sprite con 2,3,5,10... (o quante vuoi tu) sotto-immagini di proiettili o quello che sono(penso che tu lo sappia fare, se non è cosi chiedi pure). Come si fanno a impostare le sotto-immagini quando prendi un bonus e quindi la variabile var_sparo è aumentata di 1?? Molto facile.
nell'evento create dell'oggetto sparo, metti:

Codice: Seleziona tutto

image_speed = 0; /* Questa variabile imposta la velocità con cui Game Maker ti mostra 
                    ciclicamente le sotto-immagini dell'istanza */
image_index = obj_nav.var_sparo /* quanto vale la variabile var_sparo ? 0? allora 
                                vorrà dire che non hai preso ancora nessun bonus_sparo, 
                                e quindi la sotto-immagine sarà la numero "0" (quindi la 
                                prima sotto-immagine, dato che la numerazione parte da 0, 
                                poi 1, poi 2 etc.). Vale 1? vorrà dire che fino ad adesso 
                                hai preso 1 bonus_sparo e quindi lo sparo avrà l'aspetto 
                                della seconda sotto-immagine.*/

Ti ho scritto tutto dal cellulare stando in metro, spero di non aver fatto errori o di non essermi dimenticato nulla.

Modifica: Ovviamente se incrementi la variabile var_sparo a oltranza e le sotto_immagini sono ad esempio solo 3, capirai bene che una volta arrivata alla 3 ricomincerà dalla prima, e questo non va bene. Puoi risolvere il tutto con un controllo, se l'esempio si adatta al tuo gioco, allora ti posso indicare come.

Re: Cambiare lo sparo

Inviato: 24/02/2016, 16:14
da frenky
Sei stato gentilissimo, e ti ringrazio per l aiuto, e voglio ringraziare tutti voi per la perfetta assistenza che mi state fornendo, ora provo a fare tutto e poi scrivo se ci sono riuscito o no grayie ancora per la vostra professionalitá e la vostra educazione, mi troveró bene qui ne sono sicuro :)

Re: Cambiare lo sparo

Inviato: 25/02/2016, 11:31
da frenky
eccoci ho provato a fare come mi hai scritto ma mi consegna questo errore:
FATAL ERROR in
action number 3
of Create Event
for object obj_sparo:

Push :: Execution Error - Variable Get 100246.obj_nav(100003, -2147483648)
at gml_Object_obj_sparo_CreateEvent_3 (line 3) - image_index = obj_nav.var_sparo /* quanto vale la variabile var_sparo ? 0? allora

lo copiato come mi e scritto nel programma sicuro ho sbagliato qualcosa ma nn so cosa -.-" provo a studiarmi il manuale altrimenti cambio metodo grazie per il vostro aiuto:)

Re: Cambiare lo sparo

Inviato: 25/02/2016, 13:56
da Solid Snake
L'errore dice che non trova la variabile "obj_nav"
Errore di GM ha scritto:Variable Get 100246.obj_nav

Re: Cambiare lo sparo

Inviato: 25/02/2016, 14:45
da frenky
ti ringrzio, non sono molto pratico e da poco che sto usando questo sftware credo che cambiero modo impostero gia gli spari cambiabili con determinati tasti, troppo difficile per me fare questa cosa-.- mi vergogno, a quaranta anni faccio pagine web uso photoshop e non riesco a usare un semplice software creayione giochi -.-" :(

Re: Cambiare lo sparo

Inviato: 25/02/2016, 14:47
da innominato
non puoi semplicemente copiare e incollare il codice. Prova a capirlo e poi adattalo. ;)

Programmare non è una cosa semplice, inizia leggerti il manuale :D

Re: Cambiare lo sparo

Inviato: 25/02/2016, 15:31
da frenky
e quello che ho fatto credimi forse sbaglio ad inserirli nelle collisioni sbagliate o negli oggetti sbagliati oppure su game maker studio mi da problemi non so lo riprenderö e lo guardero con calma, si lo sto leggendo e molto utile lo trovavo prima mi aiutava moltissino:) se ci riesco lo scrivo subito:) grazie e buona continuazione:)

Re: Cambiare lo sparo

Inviato: 25/02/2016, 17:33
da innominato
ma l'oggetto navicella dove hai dichiarato la variabile var_sparo si chiama obj_nav vero?

Re: Cambiare lo sparo

Inviato: 25/02/2016, 18:03
da frenky
noti diro credo di aver fatto un casino perche ho letto male il post che hai scritto io ho creato nel mio oggetto obj giocatore finisco alcuni dettagli e ci riprovo ok io sono un danno

Re: Cambiare lo sparo

Inviato: 26/02/2016, 10:02
da frenky
ringrayio voi tutti per l aiuto, purtroppo io non so programmare in php oppure in c++ e gia tanto che riesca a fare qualche pagina web, vorrei imparare e imparero, ho letto nel vostro manuale ma sinceramente non mi ha soddisfatto, ci sono alcune cose che vorrei sapere che nel manuale non sono scritte, tipo esempio creare un gioco ove la persona possa prendere un oggetto con il mouse e trascinarla in un altro luogo oppure prendere un oggetto memorizzarlo nel menu e poi usarlo in un secondo momento, dato che devo studiare tanto mi rigetto su unreal grayie a tutti voi una buona continuazione:)

Re: Cambiare lo sparo

Inviato: 26/02/2016, 14:39
da innominato
Se il manuale non ti soddisfa, e sei determinato ad imparare qualcosa, ti consiglio allora di leggerti libro "Corso completo programmazione" di Harvey Deitel. Qui c'è scritto quasi tutto, ed è un'ottima base da cui iniziare per programmare.

Re: Cambiare lo sparo

Inviato: 26/02/2016, 15:05
da Solid Snake
frenky ha scritto:ringrayio voi tutti per l aiuto, purtroppo io non so programmare in php oppure in c++ e gia tanto che riesca a fare qualche pagina web, vorrei imparare e imparero, ho letto nel vostro manuale ma sinceramente non mi ha soddisfatto, ci sono alcune cose che vorrei sapere che nel manuale non sono scritte, tipo esempio creare un gioco ove la persona possa prendere un oggetto con il mouse e trascinarla in un altro luogo oppure prendere un oggetto memorizzarlo nel menu e poi usarlo in un secondo momento, dato che devo studiare tanto mi rigetto su unreal grayie a tutti voi una buona continuazione:)
Tutte queste cose che hai detto sono un estensione delle cose che ci sono scritte nel manuale, intanto impara ad usare le cose semplici! Ovviamente ti aiuta anche leggere qualche guida!

Re: Cambiare lo sparo

Inviato: 27/02/2016, 10:15
da frenky
eccoci devo studiarlo con piu cura e avere piu pazienza e devo avere molta pazienza cosa che ho poco-.-" happena sono riuscito ad arrivare un buon punto lo mostrero sempre se ci riusciro:)

Re: Cambiare lo sparo

Inviato: 27/02/2016, 13:48
da Wolfrost
Frenky il manuale ti dice esattamente come fare tutto ciò che vuoi, sei tu che pretendi troppo da lui! Fai lavorare il cervello e vedi che il manuale diventa una "estensione" qualcosa da consultare quando si hanno dubbi, e non fare del manuale la mente pensante e tu una semplice estensione