HipT
22-03-2007, 20:39
Ciao a tutti.
Da circa 4 giorni ho iniziato a programmare un picchiaduro in C++ con le librerie allegro.Oggi ho deciso di provarlo con delle immagini id prova:D .Ma riscontro già un problema nel menù della scelta del personaggio.:muro:
Praticamente si vede lo sfondo del menù,si vedono i personaggi,ma quando premo le freccette per selezionarli,invece di apparire l'immagine di "contorno del personaggio" quando quello è selezionato,il programma va' in crash.
Ecco il codice:
xsel è la variabile che vede che personaggio è selezionato.
xlimdesè la variabile che controlla il "limite destro" in pratica il numero massimo che puo' raggiungere xsel.
xlimsin è la stessa cosa di xlimdes solo che controlla il limite sinistro (il valore minimo che può raggiungere xsel).
x1,x2,x3,x4,x5 sono le coordinate (x) di dove sono posizionate le immagini dei personaggi da selezionare.
imgselè il puntatore che contiene l'immagine
yselmenè la coordinata (unica,sono tutti alla stessa altezza) in y che dice a che altezza viene piazzata l'immagine.
void movmenu()
{
if(key[KEY_RIGHT])
{
if (xsel<xlimdes)
xsel+1;
{
if(xsel==1)
{
draw_sprite(buf,imgsel,x1,yselmen);
//sostituirlo manualmente
}
if(xsel==2)
{
draw_sprite(buf,imgsel,x2,yselmen);
}
if(xsel==3)
{
draw_sprite(buf,imgsel,x3,yselmen);
}
if(xsel==4)
{
draw_sprite(buf,imgsel,x4,yselmen);
}
if(xsel==5)
{
draw_sprite(buf,imgsel,x5,yselmen);
}
}
}
if(key[KEY_LEFT])
{
if(xsel>xlimsin)
xsel-1;
{
if(xsel==1)
{
draw_sprite(buf,imgsel,x1,yselmen);
}
if(xsel==2)
{
draw_sprite(buf,imgsel,x2,yselmen);
}
if(xsel==3)
{
draw_sprite(buf,imgsel,x3,yselmen);
}
if(xsel==4)
{
draw_sprite(buf,imgsel,x4,yselmen);
}
if(xsel==5)
{
draw_sprite(buf,imgsel,x5,yselmen);
}
}
}
}
Da cosa potrebbe derivare?
Grazie.
Ciao!
Da circa 4 giorni ho iniziato a programmare un picchiaduro in C++ con le librerie allegro.Oggi ho deciso di provarlo con delle immagini id prova:D .Ma riscontro già un problema nel menù della scelta del personaggio.:muro:
Praticamente si vede lo sfondo del menù,si vedono i personaggi,ma quando premo le freccette per selezionarli,invece di apparire l'immagine di "contorno del personaggio" quando quello è selezionato,il programma va' in crash.
Ecco il codice:
xsel è la variabile che vede che personaggio è selezionato.
xlimdesè la variabile che controlla il "limite destro" in pratica il numero massimo che puo' raggiungere xsel.
xlimsin è la stessa cosa di xlimdes solo che controlla il limite sinistro (il valore minimo che può raggiungere xsel).
x1,x2,x3,x4,x5 sono le coordinate (x) di dove sono posizionate le immagini dei personaggi da selezionare.
imgselè il puntatore che contiene l'immagine
yselmenè la coordinata (unica,sono tutti alla stessa altezza) in y che dice a che altezza viene piazzata l'immagine.
void movmenu()
{
if(key[KEY_RIGHT])
{
if (xsel<xlimdes)
xsel+1;
{
if(xsel==1)
{
draw_sprite(buf,imgsel,x1,yselmen);
//sostituirlo manualmente
}
if(xsel==2)
{
draw_sprite(buf,imgsel,x2,yselmen);
}
if(xsel==3)
{
draw_sprite(buf,imgsel,x3,yselmen);
}
if(xsel==4)
{
draw_sprite(buf,imgsel,x4,yselmen);
}
if(xsel==5)
{
draw_sprite(buf,imgsel,x5,yselmen);
}
}
}
if(key[KEY_LEFT])
{
if(xsel>xlimsin)
xsel-1;
{
if(xsel==1)
{
draw_sprite(buf,imgsel,x1,yselmen);
}
if(xsel==2)
{
draw_sprite(buf,imgsel,x2,yselmen);
}
if(xsel==3)
{
draw_sprite(buf,imgsel,x3,yselmen);
}
if(xsel==4)
{
draw_sprite(buf,imgsel,x4,yselmen);
}
if(xsel==5)
{
draw_sprite(buf,imgsel,x5,yselmen);
}
}
}
}
Da cosa potrebbe derivare?
Grazie.
Ciao!