buenas
tengo un problema
cuando muestro los sprites se sequedan rayas negras
os paso el codigo y corregirlo que ya no se que hacer
PA_Init();
PA_InitVBL();
PA_ResetBgSysScreen(0);
PA_ResetSpriteSysScreen(0);
PA_ResetBgSysScreen(1);
PA_ResetSpriteSysScreen(1);
PA_LoadSpritePal(1, 0, (void*)operaciones_Pal);
PA_LoadSpritePal(1, 1, (void*)numeros_Pal);
PA_LoadSpritePal(1, 2, (void*)igual_Pal);
//fondos
if(zurdo==false){
PA_LoadBackground(1,1, &Fondocalculo1);
PA_LoadBackground(0,1, &calculob);
}
else{
PA_LoadBackground(1,1, &Fondocalculo1z);
PA_LoadBackground(0,1, &calculobz);
}
azar:
PA_ResetSpriteSysScreen(1);
PA_InitRand();
u8 calculoa=PA_RandMinMax(min1,max1); //creara un numero aleatio del 0 al 9
u8 calculob=PA_RandMinMax(min1,max1); //creara un numero aleatio del 0 al 9
u8 eleccion=PA_RandMinMax(min,max);//para +-*/
empezado=false;
if(zurdo==false && empezado==false){
PA_CreateSprite(1, 0,(void*)operaciones_Sprite, OBJ_SIZE_32X32,0, 0, 158, 85);
PA_CreateSprite(1, 1,(void*)numeros_Sprite, OBJ_SIZE_64X32,0, 0, 144, 53);
PA_CreateSprite(1, 2,(void*)numeros_Sprite, OBJ_SIZE_64X32,0, 0, 144, 116);
empezado=true;
}
else if(zurdo==true && empezado==false){
/*PA_CreateSprite(1, 0,(void*)operaciones_Sprite, OBJ_SIZE_32X32,0, 0, 158, 85);
PA_CreateSprite(1, 1,(void*)numeros_Sprite, OBJ_SIZE_64X32,0, 0, 144, 53);
PA_CreateSprite(1, 2,(void*)numeros_Sprite, OBJ_SIZE_64X32,0, 0, 144, 116);
empezado=true;
*/}
while(1){
if(Pad.Newpress.Down){
primernumeropuesto=false;
elegido=false;
}
if(Pad.Newpress.B){
primernumeropuesto=false;
elegido=false;
}
if(eleccion==1){
X=calculoa+calculob;
//mas
frameoperaciones=0;
}
else if(eleccion==2){
X=calculoa-calculob;
//menos
frameoperaciones=1;
}
else if(eleccion==3){
X=calculoa*calculob;
//mul
frameoperaciones=2;
}
else if(eleccion==4){
X=calculoa/calculob;
//div
frameoperaciones=3;
}
PA_SetSpriteAnim(1,0,frameoperaciones);
if(X>99){
goto azar;
}
if(calculoa==0){
//0
framenumeros1=0;
}
else if(calculoa==1){
//1
framenumeros1=1;
}
else if(calculoa==2){
//2
framenumeros1=2;
}
else if(calculoa==3){
//3
framenumeros1=3;
}
else if(calculoa==4){
//4
framenumeros1=4;
}
else if(calculoa==5){
//5
framenumeros1=5;
}
else if(calculoa==6){
//6
framenumeros1=6;
}
else if(calculoa==7){
//7
framenumeros1=7;
}
else if(calculoa==8){
//8
framenumeros1=8;
}
else if(calculoa==9){
//9
framenumeros1=9;
}
PA_SetSpriteAnim(1,1,framenumeros1);
if(calculob==0){
//0
framenumeros2=0;
}
else if(calculob==1){
//1
framenumeros2=1;
}
else if(calculob==2){
//2
framenumeros2=2;
}
else if(calculob==3){
//3
framenumeros2=3;
}
else if(calculob==4){
//4
framenumeros2=4;
}
else if(calculob==5){
//5
framenumeros2=5;
}
else if(calculob==6){
//6
framenumeros2=6;
}
else if(calculob==7){
//7
framenumeros2=7;
}
else if(calculob==8){
//8
framenumeros2=8;
}
else if(calculob==9){
//9
framenumeros2=9;
}
PA_SetSpriteAnim(1,2,framenumeros2);
botones:
if(zurdo==false){
if(PA_StylusInZone(47,5,110,36) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=8;
}
else{
y2=80;
}
}
else{
y=8;}}
if(PA_StylusInZone(185,5,248,56) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=0;
}
else{
y2=00;
}
}
else{
y=0;}
}
if(PA_StylusInZone(185,52,248,83) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=1;
}
else{
y2=10;
}
}
else{
y=1;}
}
if(PA_StylusInZone(185,95,248,126) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=2;
}
else{
y2=20;
}
}
else{
y=2;}
}
if(PA_StylusInZone(185,147,248,179) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=3;
}
else{
y2=30;
}
}
else{
y=3;}
}
if(PA_StylusInZone(113,5,176,36) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=4;
}
else{
y2=40;
}
}
else{
y=4;}
}
if(PA_StylusInZone(113,52,176,83) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=5;
}
else{
y2=50;
}
}
else{
y=5;}
}
if(PA_StylusInZone(113,95,176,126) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=6;
}
else{
y2=60;
}
}
else{
y=6;}
}
if(PA_StylusInZone(113,147,176,178) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=7;
}
else{
y2=70;
}
}
else{
y=7;}
}
if(PA_StylusInZone(47,52,110,83) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=9;
}
else{
y2=90;
}
}
else{
y=9;}
}
if(X>9){
y=y2+y;
}
if(PA_StylusInZone(15,13,110,36) && Stylus.Released){
if(y==X){
acierto=true;
aciertos++;
calculoveces++;
if(calculoveces==10){
calculofin();
}
else{
goto azar;
}
//correcto puedes hacerlo con una bool
}
else{//incorrecto aqui la bool seria false}
acierto=false;
fallos++;
calculoveces++;
if(calculoveces==10){
calculofin();
}
else{
goto azar;
}
}
}
else{
if(PA_StylusInZone(145,155,209,186) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=8;
}
else{
y2=80;
}
}
else{
y=8;}}
if(PA_StylusInZone(7,155,70,187) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=0;
}
else{
y2=00;
}
}
else{
y=0;}
}
if(PA_StylusInZone(7,108,70,139) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=1;
}
else{
y2=10;
}
}
else{
y=1;}
}
if(PA_StylusInZone(7,65,70,97) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=2;
}
else{
y2=20;
}
}
else{
y=2;}
}
if(PA_StylusInZone(185,147,248,179) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=3;
}
else{
y2=30;
}
}
else{
y=3;}
}
if(PA_StylusInZone(6,13,70,44) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=4;
}
else{
y2=40;
}
}
else{
y=4;}
}
if(PA_StylusInZone(78,155,142,187) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=5;
}
else{
y2=50;
}
}
else{
y=5;}
}
if(PA_StylusInZone(79,108,143,139) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=6;
}
else{
y2=60;
}
}
else{
y=6;}
}
if(PA_StylusInZone(79,65,142,96) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=7;
}
else{
y2=70;
}
}
else{
y=7;}
}
if(PA_StylusInZone(145,108,208,139) && Stylus.Released){
if(X>9){
if(primernumeropuesto==true){
y=9;
}
else{
y2=90;
}
}
else{
y=9;}
}
if(X>9){
y=y2+y;
}
if(PA_StylusInZone(211,119,240,178) && Stylus.Released){
if(y==X){
acierto=true;
aciertos++;
calculoveces++;
if(calculoveces==10){
calculofin();
}
else{
goto azar;
}
//correcto puedes hacerlo con una bool
}
else{//incorrecto aqui la bool seria false}
acierto=false;
fallos++;
calculoveces++;
if(calculoveces==10){
calculofin();
}
else{
goto azar;
}
}
}
}
}
PA_WaitForVBL();
goto botones;
}
}