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
Video
https://drive.google.com/file/d/0BxJw2R ... 2s/preview
Download
https://drive.google.com/uc?export=down ... TQ0Zm5RWHM
[Esempio] Pioggia che collide
- MyMadness
- Membro attivo
- Messaggi: 282
- Iscritto il: 28/03/2011, 10:56
- Specialità: Tuttofare
- Uso: GM:Studio 2
- Contatta:
Re: Pioggia che collide
Davvero molto, molto gustoso (ed utile per un progetto che ho in testa)!
Contatti social:
Spoiler
Gioca i miei lavori:
Spoiler
- Homunculus
- Admin
- Messaggi: 6840
- Iscritto il: 25/11/2007, 20:36
- Contatta:
Re: Pioggia che collide
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:
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).
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;
}
Re: Pioggia che collide
Grazie homu, l'ho fatto di fretta, sistemo subito!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: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).Codice: Seleziona tutto
else if(rain[i+1] > room_width) { rain[i] = random_range(-100,room_width+100); rain[i+1] = 0; }
- Homunculus
- Admin
- Messaggi: 6840
- Iscritto il: 25/11/2007, 20:36
- Contatta:
Re: Pioggia che collide
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
Re: Pioggia che collide
Sì, esatto, infatti l'ho proprio toltoHomunculus 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
- 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
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?
Re: [Esempio] Pioggia che collide
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?
l'ho messo apposta in "tutorials e esempi"
- 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
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 mediocriTizzio 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?
l'ho messo apposta in "tutorials e esempi"
Chi c’è in linea
Visitano il forum: Nessuno e 7 ospiti