Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

high_speed_image

Messaggio da Sla »

Per lo script bene inserito guardate più in basso.
eppure mi sembra tutto giusto...
sggsoftware
Membro
Messaggi: 178
Iscritto il: 01/07/2007, 15:09
Uso: GM:Studio 2
Località: Sicilia
Contatta:

Re: high_speed_image

Messaggio da sggsoftware »

Simpatico, funziona abbastanza bene. Il problema purtroppo è quando il giocatore non preme nessun tasto: la scia si cancella bruscamente. Forse sarebbe meglio creare tanti oggetti e modificare l'image_alpha per farli scomparire.

E comunque mi sembra un po' pasticciato:

Codice: Seleziona tutto

else
{
  var d1,d2,d3,d4;
  d1 = draw_sprite_ext(argument0,false,x-40,y,1,1,0,c_white,0);
  d2 = draw_sprite_ext(argument0,false,x-30,y,1,1,0,c_white,0);
  d3 = draw_sprite_ext(argument0,false,x-20,y,1,1,0,c_white,0);
  d4 = draw_sprite_ext(argument0,false,x-10,y,1,1,0,c_white,0);
}
In pratica qui cosa fai? Disegni 4 volte lo sprite in 4 posizioni diverse, usando però image_alpha uguale a zero? Cioè in pratica sono delle linee di codice superflue, tanto vale toglierle! Ma poi scusa, perchè usi le variabili d1, d2, d3, d4? Così non ti piace?

Codice: Seleziona tutto

draw_sprite_ext(argument0,false,x-40,y,1,1,0,c_white,0);
draw_sprite_ext(argument0,false,x-30,y,1,1,0,c_white,0);
draw_sprite_ext(argument0,false,x-20,y,1,1,0,c_white,0);
draw_sprite_ext(argument0,false,x-10,y,1,1,0,c_white,0);
In pratica il tuo script si può sintetizzare senza problemi nelle seguenti linee:

Codice: Seleziona tutto

//argument0 = sprite
//argument1 = x
//argument2 = y
//argument3 = tasto per movimento a destra
//argument4 = tast per movimento a sinistra
if keyboard_check(argument3) global.lastchar = "right";
else if keyboard_check(argument4) global.lastchar = "left";
if global.lastchar = "right" draw_sprite_ext(argument0,false,argument1,argument2,1,1,0,c_white,1);
else if global.lastchar = "left" draw_sprite_ext(argument0,false,argument1,argument2,-1,1,0,c_white,1);

if argument1 != global.oggx
{
  var moin,segno;
  moin = 0.05;
  segno = sign(argument1-global.oggx);
  draw_sprite_ext(argument0,false,x-40*segno,y,segno,1,0,c_white,0.2-moin);
  draw_sprite_ext(argument0,false,x-30*segno,y,segno,1,0,c_white,0.4-moin);
  draw_sprite_ext(argument0,false,x-20*segno,y,segno,1,0,c_white,0.6-moin);
  draw_sprite_ext(argument0,false,x-10*segno,y,segno,1,0,c_white,0.8-moin);
  global.oggx = argument1;
}
Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: high_speed_image

Messaggio da Sla »

ehm hai ragione :oops: ...
il fatto è che non avevo finito di creare lo script, infatti devo ancora migliorarlo, e mi ero dovuto fermare perchè avevo ancora troppi compiti da fare, quindi , visto che funzionava, non ho pensato di revisionarlo e lo ho subito inserito. Lo script pero non può essere sintetizzato come hai messo te perchè arrivano dei problemi con le ombre (le altre immagini con alpha maggiori).
Comincio subito a lavorarci su..
eppure mi sembra tutto giusto...
Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: high_speed_image

Messaggio da Sla »

Eccomi ho messo apposto lo script.. ora funziona decentemente e non è "pasticciato" troppo..

Codice: Seleziona tutto

//argument0 = sprite
//argument1 = x
//argument2 = y
//argument3 = tasto per movimento a destra
//argument4 = tast per movimento a sinistra
var spr;
if keyboard_check(argument3) 
{
  global.lastchar = "right";
  global.alpha = 0;
}
if keyboard_check(argument4) 
{
  global.lastchar = "left";
  global.alpha = 0;
}
if global.lastchar = "right" spr = draw_sprite_ext(argument0,false,argument1,argument2,1,1,0,c_white,1);
if global.lastchar = "left" spr = draw_sprite_ext(argument0,false,argument1,argument2,-1,1,0,c_white,1);

//Settings delle ombre di velocità a destra
if argument1 > global.oggx
{
  var moin;
  moin = 0.025;
  draw_sprite_ext(argument0,false,x-40,y,1,1,0,c_white,0.2-moin);
  draw_sprite_ext(argument0,false,x-30,y,1,1,0,c_white,0.4-moin);
  draw_sprite_ext(argument0,false,x-20,y,1,1,0,c_white,0.6-moin);
  draw_sprite_ext(argument0,false,x-10,y,1,1,0,c_white,0.8-moin);
  global.oggx = argument1
}
//Settings ombre di velocità ferme destra-sinistra
if argument1 = global.oggx && global.lastchar = "right"
{
  var moin;
  image_alpha = global.alpha;
  moin = 0.25 + image_alpha;
  draw_sprite_ext(argument0,false,x-40,y,1,1,0,c_white,0.2-moin);
  draw_sprite_ext(argument0,false,x-30,y,1,1,0,c_white,0.4-moin);
  draw_sprite_ext(argument0,false,x-20,y,1,1,0,c_white,0.6-moin);
  draw_sprite_ext(argument0,false,x-10,y,1,1,0,c_white,0.8-moin);
}
if argument1 = global.oggx && global.lastchar = "left"
{
  var moin;
  image_alpha = global.alpha;
  moin = 0.25 + image_alpha;
  draw_sprite_ext(argument0,false,x+40,y,-1,1,0,c_white,0.2-moin);
  draw_sprite_ext(argument0,false,x+30,y,-1,1,0,c_white,0.4-moin);
  draw_sprite_ext(argument0,false,x+20,y,-1,1,0,c_white,0.6-moin);
  draw_sprite_ext(argument0,false,x+10,y,-1,1,0,c_white,0.8-moin);
}
//Settings delle ombre di velocità a sinistra
if argument1 < global.oggx
{
  var moin2;
  moin2 = 0.025;
  draw_sprite_ext(argument0,false,x+40,y,-1,1,0,c_white,0.2-moin2);
  draw_sprite_ext(argument0,false,x+30,y,-1,1,0,c_white,0.4-moin2);
  draw_sprite_ext(argument0,false,x+20,y,-1,1,0,c_white,0.6-moin2);
  draw_sprite_ext(argument0,false,x+10,y,-1,1,0,c_white,0.8-moin2);
  global.oggx = argument1;
}
purtroppo bisogna aggiungere nello step..
global.alpha += 0.025;
e nel create si fa cosi:

Codice: Seleziona tutto

global.oggx = x;
global.oggy = y;
global.lastchar = "right";
global.alpha = 0;
come funge?? una immagine spiega meglio!
Immagine
eppure mi sembra tutto giusto...
sggsoftware
Membro
Messaggi: 178
Iscritto il: 01/07/2007, 15:09
Uso: GM:Studio 2
Località: Sicilia
Contatta:

Re: high_speed_image

Messaggio da sggsoftware »

Super_Slascio ha scritto:ehm hai ragione :oops: ...
il fatto è che non avevo finito di creare lo script, infatti devo ancora migliorarlo, e mi ero dovuto fermare perchè avevo ancora troppi compiti da fare, quindi , visto che funzionava, non ho pensato di revisionarlo e lo ho subito inserito. Lo script pero non può essere sintetizzato come hai messo te perchè arrivano dei problemi con le ombre (le altre immagini con alpha maggiori).
Comincio subito a lavorarci su..
Sì, anch'io purtroppo ho un sacco di compiti: ormai mi metto a lavoro solo i fine settimana.

Comunque è vero: c'era un bug nello script sintetizzato (le immagini semitrasparenti non venivano riflesse correttamente). Se ti interessa ho corretto il post (anche se vedo che hai già risolto).
Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: high_speed_image

Messaggio da Sla »

Già e ho messo anche come mi avevi suggerito che le ombre se ne vanno lentamente per l'alpha.
Se ti viene un'altra buona idea dimmela subito, che provvedo e miglioriamo ancora il codice.
eppure mi sembra tutto giusto...
Spartan117 Master chief
GMI Advanced
Messaggi: 1535
Iscritto il: 03/08/2007, 11:23
Contatta:

Re: high_speed_image

Messaggio da Spartan117 Master chief »

Mi piace sto script ;) riconosco che hai fatto una cosa davvero utile ;) se mai un giorno userò questo script mettero il tuo nome nei ringraziamenti ;)
Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: high_speed_image

Messaggio da Sla »

Grazie...
(stavi scherzando vero???)
eppure mi sembra tutto giusto...
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: high_speed_image

Messaggio da civic71 »

Bell' effetto :)
Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: high_speed_image

Messaggio da Sla »

Bene grazie dei commenti...
Adesso ne sto creando uno ancora migliore che userò nel gioco per la competizione.
Subito dopo la competizione lo posterò. :salut:
eppure mi sembra tutto giusto...
Avatar utente
rinkostar
Newbie
Messaggi: 6
Iscritto il: 06/10/2008, 13:35
Contatta:

Re: high_speed_image

Messaggio da rinkostar »

super_slascio non vincerai mai se usi quel progetto xd :twisted: 8)
...rInKoStAr...
Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: high_speed_image

Messaggio da Sla »

Questo lo dici te. 8)
cosa dovrei fare, un gioco su full metal alchemist!?!?!?
eppure mi sembra tutto giusto...
Spartan117 Master chief
GMI Advanced
Messaggi: 1535
Iscritto il: 03/08/2007, 11:23
Contatta:

Re: high_speed_image

Messaggio da Spartan117 Master chief »

Super_Slascio ha scritto:Grazie...
(stavi scherzando vero???)
Prego...
(no dicevo davvero, e questa tua mancanza di fiducia potrebe farmi rimangiare quello che hai detto)