Creare un nemico che spari automaticamente un colpo?

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Salve!
Oggi voglio chiedervi una cosa.
1) Ho trovato vari tutorial per far sparare il personaggio iniziale. La cosa brutta è che spara solo a destra,se sono girato a sinistra spara lo stesso a destra. Come posso fare per farlo sparare anche dall'altro lato?
2) Vorrei creare un nuovo nemico,piu' forte degli altri che spari nello stesso modo del Pg (non necessariamente da entrambi i lati.) Sapete aiutarmi?
Spoiler
Per chi odiasse i Dj,non odiatemi,non sono un dj,mi piacciono e basta,tutto qui. :asd:
Il mondo è bello perchè è vario....

Avatar utente
Slime
Membro attivo
Messaggi: 367
Iscritto il: 23/12/2013, 20:21
Specialità: Esistere
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da Slime »

1) Ti ringrazio per averci linkato il fantomatico "tutorial" o comunque il codice che utilizzi.
Comunque potresti controllare da che lato è girato il giocatore e poi far sparare di conseguenza da quella parte.
Qua dipende molto da come hai strutturato i tuoi movimenti, però:
Usi la variabile image_xscale?
Usi 2 sprite per destra e sinistra?
Usi una variabile tua per sapere la direzione?
In generale controlla il valore della determinata variabile, se è sinistra spara a sinistra, se è destra spara a destra
es.

Codice: Seleziona tutto

if (sprite_index == GiocatoreDx_s)//Controlla se lo sprite è GiocatoreDx_s {
    //Spara a destra
}
if (sprite_index == GiocatoreSx_s)//Controlla se lo sprite è GiocatoreSx_s {
    //Spara a sinistra
}
La soluzione migliore poi sarebbe usare uno switch, che ha questa struttura

Codice: Seleziona tutto

switch(<espressione>) {
case <valore di espressione>: //azioni; break;
case <valore di espressione>: //azioni; break;
[...]
}
Poi se hai dubbi controlla sul manuale :manual:

2) Io piango :piagne:
Non ci hai detto cosa hai fatto e, sopratutto, cosa vuoi ottenere.
"Vorrei creare un nuovo nemico, più forte degli altri che spari nello stesso modo del Pg" vuol dire poco o niente.
Per favore specificate TUTTE le informazioni.
Huzzah!

Immagine

Le Tartarughe Spaziali

Avatar utente
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Scusami forse non sono stato molto chiaro :?
Allora,per fare in modo che il personaggio sparasse ho usato questo tutorial
http://www.youtube.com/watch?v=_uSvQPj_bU0
Ovviamente,visto che il mio Pg guarda a destra ho modificato i parametri x e y...
Comunquesia uso 2 sprite diversi,uso il Change Sprite per farlo girare. Spero di essere stato chiaro su questo :)


Per il fatto del nemico:
Non ho ancora fatto nulla,non so cosa fare. Ciò che voglio ottenere è che il nemico spari delle sfere come il personaggio iniziale,solo che deve farlo in automatico,vorrei sapere come posso fare :)

Mi scuso se non riesco a farvi capire bene,sono nuovo....
Il mondo è bello perchè è vario....

Avatar utente
Homunculus
Admin
Messaggi: 6840
Iscritto il: 25/11/2007, 20:36
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da Homunculus »

Se usi due sprite diversi puoi basarti su quello per far andare il proiettile nella direzione giusta. Controlli con una condizione se il tuo sprite é quello a sinistra o quello a destra, e a seconda del caso imposti la direzione (e l'orientamento dello sprite) del proiettile. Va fatto con un po' di codice comunque, non ci sono icone apposite:

Nell'evento in cui viene sparato il proiettile:

Codice: Seleziona tutto

var proiettile = instance_create(x,y,OGGETTO_PROIETTILE);
proiettile.speed = VELOCITÀ_PROIETTILE;
if(sprite_index = SPRITE_SINISTRA) {proiettile.direction = 180;}
Tutte le parti maiuscole vanno inserite da te. Nel proiettile non ti serve nessun codice di movimento particolare, puoi inserire in step image_angle = direction; in modo che se lo sprite del proiettile ha una direzione questo sia girato correttamente. Nota che nel codice sopra impostiamo la direzione solo nel caso in cui deve muoversi verso sinistra, perché di default la direzione di un oggetto é 0 (destra) e quindi possiamo anche non specificarlo.

Per il nemico, ti consiglio innanzitutto di leggere nel manuale gli alarm. Il procedimento é lo stesso del giocatore, solo che il nemico spara a scadenze regolari invece che alla pressione di un tasto, e gli alarm ti permettono di gestire il tempo. Leggi e fai qualche prova, poi eventualmente ripassa e chiedi se qualcosa non é chiaro.

Avatar utente
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Grazie mille ora funziona. Per l'altro problema (quello del CPU che spara),ho trovato un video nelle viscere di YouTube spagnolo...Vedi uno che deve fare per creare un bel gioco :P
Il mondo è bello perchè è vario....

Avatar utente
pacmino
GMI Guru
Messaggi: 2569
Iscritto il: 03/06/2009, 16:38
Specialità: Scazzato cronico
Uso: GM:Studio 2
Località: Seconda stella a destra questo è il cammino e poi dritto, fino al mattino...
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da pacmino »

in realtà basterebbe leggere il manuale e utilizzare un po' l'inventiva
Immagine

Avatar utente
Homunculus
Admin
Messaggi: 6840
Iscritto il: 25/11/2007, 20:36
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da Homunculus »

pacmino ha scritto:in realtà basterebbe leggere il manuale e utilizzare un po' l'inventiva
In questo caso assolutamente si, perché per far sparare il nemico basta applicare esattamente quello che é stato fatto per il personaggio introducendo un alarm (che é ben spiegato nel manuale). Se invece si continua a cercare tutorial per ogni minima cosa non si fanno molti progressi...

Avatar utente
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Non preouccupatevi,tanto ciò che vedo nei tutorial cerco di rifarlo senza guardarli di nuovo :)
Ma,visto che non vorrei aprire un altro topic,nel manuale non l'ho trovato (o forse non ho cercato bene,in tal caso chiedo umilmente scusa :oops: ),come faccio a creare un nemico che per essere sconfitto necessita di due colpi dal pg?
Il mondo è bello perchè è vario....

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

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da gameplay_extreme »

suggerimento: evidentemente devi creare un nemico in grado di "tenere a mente" quanti colpi ha ricevuto (o viceversa, quanta "energia" gli è rimasta).
Spoiler
La soluzione è creare, all'interno del nemico, una variabile locale personalizzata "my_health"

alla creazione del nemico

Codice: Seleziona tutto

- poni my_health = 2
quando il nemico riceve il colpo

Codice: Seleziona tutto

- diminusci my_health di 1
- se my_health è uguale o minore a zero il nemico deve ditruggersi
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
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

gameplay_extreme ho provato ma non va...Il nemico è sempre li' per quante volte io lo colpisca :(
Il mondo è bello perchè è vario....

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

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da Vallo92 »

Il suggerimento di gameplay è perfetto per una situazione del genere. Stai sbagliando sicuramente qualcosa tu.
Puoi postare il codice che stai utilizzando in modo da trovare e correggere l'errore?
-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
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Certo!
Allora premetto che non ho capito tanto bene come si faccia..
Allora:
Io vado nell'object del nemico e creo un evento step,qui inserisco set health (per quanto ho capito) e poi una variabile che ho chiamato heatlh (my_heatlh non ho capito,era il nome da mettere?Perchè quando ho provato mi ha dato errore GM).
Dopo creo un evento di collisione (quando il nemico viene colpito) e faccio set health -10.Poi metto test variable e metto il nome health e faccio in modo che,se è minore o uguale a 0 l'oggetto si distrugga. Questo ho fatto...In effetti non avevo capito bene,non perchè non l'ha spiegato chiaro,ma perchè io non avevo capito:scusatemi :oops:
Il mondo è bello perchè è vario....

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

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da Vallo92 »

Ecco, il codice non ti funzionava perché era stato inserito completamente a casaccio... Prima di fare le cose a caso prova a documentarti un po' con l'aiuto del manuale.

Comunque il suggerimento di gameplay andrebbe applicato in questo modo:
Create:

Codice: Seleziona tutto

energia = 2;
Step:

Codice: Seleziona tutto

if (energia <= 0)
{instance_destroy();}
Collision con oggetto proiettile (o comunque con l'oggetto che fa danno):

Codice: Seleziona tutto

energia -= 1;
Prova a studiarci un po' su... Non è complicato. ;)
Ultima modifica di Vallo92 il 26/03/2014, 21:01, modificato 1 volta in totale.
-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
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Lo so lo so :( non so fare proprio niente uff...
Però ora provo :D
Il mondo è bello perchè è vario....

Avatar utente
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Chiedo scusa,stavolta ho fatto tutto senza problemi come sarebbe dovuto andare,ma con un colpo distruggo il nemico,cosa ho sbagliato?
Perchè ho controllato e ricontrollato se fosse uguale a quello postato da te ma non funziona lo stesso :oops:
Il mondo è bello perchè è vario....

Avatar utente
Slime
Membro attivo
Messaggi: 367
Iscritto il: 23/12/2013, 20:21
Specialità: Esistere
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da Slime »

Probabilmente l'evento collisione avviene più volte e quindi viene sottratto più volte uno a "energia".
Una soluzione può essere quella di eliminare il proiettile alla collisione, quindi sostituisci il codice di collisione con questo:

Codice: Seleziona tutto

energia -= 1;
with(other) {instance_destroy();}
Huzzah!

Immagine

Le Tartarughe Spaziali

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da Cash »

DJ_Grabber ha scritto:Chiedo scusa,stavolta ho fatto tutto senza problemi come sarebbe dovuto andare,ma con un colpo distruggo il nemico,cosa ho sbagliato?
Perchè ho controllato e ricontrollato se fosse uguale a quello postato da te ma non funziona lo stesso :oops:
Il colpo viene distrutto quando colpisce il nemico?Se no allora fallo distruggere

Avatar utente
DJ_Grabber
Newbie
Messaggi: 30
Iscritto il: 16/03/2014, 17:18
Specialità: Sprite
Uso: GM:Studio 1.4 Standard
Contatta:

Re: Creare un nemico che spari automaticamente un colpo?

Messaggio da DJ_Grabber »

Grazie mille ad entrambi! Funziona!!!
Grazie mille ancora! :cappa:
Il mondo è bello perchè è vario....

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti