[Esempio] Pioggia che collide

Tutorial, videotutorials ed esempi creati da noi
Rispondi
Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

[Esempio] Pioggia che collide

Messaggio da Tizzio »

Ho creato un esempio di pioggia che collide ottimizzato con l'utilizzo delle primitives

Sul mio pc va a circa 270fps con 500 particelle di pioggia
potete customizzare la velocità orizzontale tramite una variabile.


Screenshot
Immagine

Video
https://drive.google.com/file/d/0BxJw2R ... 2s/preview

Download
https://drive.google.com/uc?export=down ... TQ0Zm5RWHM

Avatar utente
MyMadness
Membro attivo
Messaggi: 282
Iscritto il: 28/03/2011, 10:56
Specialità: Tuttofare
Uso: GM:Studio 2
Contatta:

Re: Pioggia che collide

Messaggio da MyMadness »

Davvero molto, molto gustoso (ed utile per un progetto che ho in testa)!

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

Re: Pioggia che collide

Messaggio da Homunculus »

molto interessante l'esempio tiz. Se ho capito bene l'esempio, inizialmente crei la pioggia al di fuori della room in modo che parta già sparsa e non tutta a y = 0, e poi mantieni sempre lo stesso numero di gocce resettando a y = 0 man mano che si scontrano con gli oggetti o escono dalla room.

Non capisco però un pezzo di codice nel draw:

Codice: Seleziona tutto

else if(rain[i+1] > room_width) {
    rain[i] = random_range(-100,room_width+100);
    rain[i+1] = 0;
}
Qui stai essenzialmente dicendo che se la y delle gocce supera la lunghezza della room, la goccia va ricreata. A che pro confrontare room_width con la y? Soprattutto quando fai la stessa cosa sopra per room_height (che ha giustamente il suo senso in quel caso).

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Pioggia che collide

Messaggio da Tizzio »

Homunculus ha scritto:molto interessante l'esempio tiz. Se ho capito bene l'esempio, inizialmente crei la pioggia al di fuori della room in modo che parta già sparsa e non tutta a y = 0, e poi mantieni sempre lo stesso numero di gocce resettando a y = 0 man mano che si scontrano con gli oggetti o escono dalla room.

Non capisco però un pezzo di codice nel draw:

Codice: Seleziona tutto

else if(rain[i+1] > room_width) {
    rain[i] = random_range(-100,room_width+100);
    rain[i+1] = 0;
}
Qui stai essenzialmente dicendo che se la y delle gocce supera la lunghezza della room, la goccia va ricreata. A che pro confrontare room_width con la y? Soprattutto quando fai la stessa cosa sopra per room_height (che ha giustamente il suo senso in quel caso).
Grazie homu, l'ho fatto di fretta, sistemo subito!

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

Re: Pioggia che collide

Messaggio da Homunculus »

Ma l'idea era di ricreare la goccia in caso questa fosse fuori dalla room orizzontalmente? Se é così non credo sia necessario fare questo controllo, anche perché ha senso che le gocce esistano al di fuori della room in orizzontale

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: Pioggia che collide

Messaggio da Tizzio »

Homunculus ha scritto:Ma l'idea era di ricreare la goccia in caso questa fosse fuori dalla room orizzontalmente? Se é così non credo sia necessario fare questo controllo, anche perché ha senso che le gocce esistano al di fuori della room in orizzontale
Sì, esatto, infatti l'ho proprio tolto :lol:

Avatar utente
dt_3_dt
Membro super
Messaggi: 608
Iscritto il: 03/10/2010, 16:47
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [Esempio] Pioggia che collide

Messaggio da dt_3_dt »

Complimenti Tizzio, l'effetto viene veramente bene e non sembra neppure molto pesante. Ti dispiace se lo utilizzo (con alcuni accorgimenti) in un mio progetto?

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: [Esempio] Pioggia che collide

Messaggio da Tizzio »

dt_3_dt ha scritto:Complimenti Tizzio, l'effetto viene veramente bene e non sembra neppure molto pesante. Ti dispiace se lo utilizzo (con alcuni accorgimenti) in un mio progetto?
:confuso:
l'ho messo apposta in "tutorials e esempi" :asd:

Avatar utente
dt_3_dt
Membro super
Messaggi: 608
Iscritto il: 03/10/2010, 16:47
Uso: GM:Studio 1.4 Standard
Contatta:

Re: [Esempio] Pioggia che collide

Messaggio da dt_3_dt »

Tizzio ha scritto:
dt_3_dt ha scritto:Complimenti Tizzio, l'effetto viene veramente bene e non sembra neppure molto pesante. Ti dispiace se lo utilizzo (con alcuni accorgimenti) in un mio progetto?
:confuso:
l'ho messo apposta in "tutorials e esempi" :asd:
L'ho so ma se uso roba di qualcun'altro in un mio progetto preferisco essere sicuro di poterla usare liberamente. Magari l'avevi messo qui soltanto per fare lo sborone con noi programmatori mediocri ;) :asd:

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti