Anuncios Google

Ayuda error BG [SOLUCIONADO]

Hola, tengo otro problema en mi homebrew (para variar) ahora con las bg´s yo cargo en el menú dos bg´s una para arriba y otra para abajo, y todo bien, pero cuando te matan y vuelves al menú se llena media pantalla de arriba de cuadraditos, todos los fondos que cargo son de 256 colores y reseteo las pantallas al principio de cada funcion en la que cargo BG´s, NECESITO AYUDA


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Aguilera_87

creo que deberia ir asi.....

creo que deberia ir asi.....

 

....

PA_CreateSprite(1,32,(void*)tubovacio_2_Sprite,OBJ_SIZE_64X32,1,14,64+64,192);
PA_CreateSprite(1,33,(void*)tubovacio_3_Sprite,OBJ_SIZE_64X32,1,15,64+64+64,192);
x=128-16;
y=96-16;
 
 
PA_ClearTextBg(0); //borra todo el texto de la pantalla 0
PA_ClearTextBg(1); //borra todo el texto de la pantalla 1
 
PA_ResetBgSys();   
 
PA_InitText(0,0); //iniciamos el fondo de texto en la capa 0
PA_InitText(1,0); //iniciamos el fondo de texto en la capa 0
 
PA_EasyBgLoad(0,1,menudown); //este fondo en la capa 1 para que quede debajo del texto
PA_EasyBgLoad(1,1,menuup);   //este fondo igual
 
PA_OutputText(1,0,15,"Has ganado %d puntos                ",puntosganados,PA_VBLCounter[puntosganados]);
PA_OutputSimpleText(1,0,0,"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ");
 
//imprimir tantos espacios no se ¿para que? usar "PA_ClearTextBg(0);" te borra todo el texto, pero si solo quieres borrar una parte asi esta bien XD)
//por otra parte todos esos espacios creo que eran los que aparecian en el error, porque no los borrabas y reseteabas el fondo donde se encontraban

 

lo que no se es como aparecia el texto encima del fondo, si todos tus fondos los pones en la capa 0, ¿en que capa cargabas el texto?


Imagen de Cheleon

:D

¿Te lo he dicho alguna vez? Eres el EDITADO AMO <--- Ya lo edito yo moderadores, y asi os quito trabajo. :P

Imagen de exterminator

Cambia el código

Carga el fondo de abajo en la pantalla de arriba y viceversa. Si el problema sigue en la pantalla de arriba, es cosa o de texto o una incorrecta manipulación de los tiles (si los manipulas, supongo que no). Si el error cambia a la pantalla de abajo, es probable que haya algún problema con la conversión del fondo, prueba a reconvertirlo.

Salu2


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.

Imagen de Cheleon

()

He hecho lo que dices y el problema sigue en la pantalla de arriba, supongo que sera por el texto. PERO NO VEO DONDE Llora

Imagen de Aguilera_87

anda! no habia visto el

anda! no habia visto el source, si coges y imprimes texto en pantalla y despues reseteas el sistema de fondos te cargas todos los fondos, y el texto se muestra mediante un fondo que tambien se resetea con la funcion resetbgsys......

debes imprimir texto despues de resetear los fondos y habiendo vuelto a iniciar el texto en una capa ke no este usada por ningun otro fondo


Imagen de Aguilera_87

parece evidente que es el

parece evidente que es el fondo de la capa de texto, probablemente estes intentando imprimir texto en pantalla cuando aun no has iniciado de nuevo el fondo de texto despues de resetear el sistema de fondos

y si no es eso, pues tanto cargar sprites, fondos, capa de texto... y resetearlos y cargarlos y resetearlos.... haga que por algun lugar se te haya colado una carga antes o despues de tiempo, o cargues 2 veces lo mismo, o cargues algun fondo en la capa que ya estaba ocupada por un fondo.....


Imagen de Disgepia

Trata de

poner el bg en una capa diferente a la del texto

Imagen de Cheleon

He probado lo que dices y

He probado lo que dices y sigue sin ir... lo he puesto en la capa 1 y el texto esta en la 0 y el problema sigue.

Imagen de Disgepia

Prueba

a no poner el bg, si el problema es de la capa del texto lo sabrás 

Imagen de Cheleon

No es problema del texto, ya

No es problema del texto, ya que lo he quitado y arriba no sale nada.

Imagen de Disgepia

y si..

le cambias el nombre a la imagen, o borra la carpeta build del proyecto

Imagen de The Dark Master

Me da a mi.

A que tiene que ver con el texto.

Imagen de Cheleon

pero si reseteo las pantallas

pero si reseteo las pantallas no se va el texto?

Imagen de The Dark Master

Se puede dar el caso.

De que uses texto cuando aún no este iniciado y coloca tiles de otro bg en vez del texto, también cabe la posibilidad de que estes manipulando tiles :P.


Imagen de Cheleon

Solamente uso tiles para las

Solamente uso tiles para las letras, y no lo entiendo, justo antes de cargar los fondos meto el PA_ResetBgSys();

Imagen de The Dark Master

Una pregunta.

¿El fondo mide 256x192?

Imagen de Cheleon

Si

Si

Imagen de The Dark Master

Que raro...

¿Puedes poner esa room?

Imagen de Cheleon

¿Como si la puedo poner?

¿Como si la puedo poner? ¿Quieres que te la pase?

Imagen de The Dark Master

Si, que pongas esa parte del codigo.

Haber si puedo saber algo más.

Imagen de Cheleon

aqui te lo dejo

Aqui te lo dejo

if(lop==1 && Pad.Newpress.B){
 
 
 
PA_CreateSprite(0,8,(void*)bit_Sprite,OBJ_SIZE_16X16,1,4,x9,y9);
x9=12;
y9=42;
xy9=0;
 
scr=0;
speed=1;
tiempo=0;
milesimas=0; //variable milesimas
segundos=00; //variable segundos
puntos=0;
puntosganados=0;
malesimas=0;
minutos=0;
PA_OutputText(1,0,15,"Has ganado %d puntos                ",puntosganados,PA_VBLCounter[puntosganados]);
PA_OutputSimpleText(1,0,0,"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ");
lop=0;
PA_CreateSprite(0,0,(void*)puntonegro_Sprite,OBJ_SIZE_32X32,1,0,257,y);
PA_CreateSprite(0,1,(void*)bolalila_Sprite,OBJ_SIZE_32X32,1,10,257,y10);
PA_CreateSprite(0,25,(void*)bolapika_Sprite,OBJ_SIZE_32X32,1,11,257,y11);
PA_CreateSprite(0,26,(void*)bolacebra_Sprite,OBJ_SIZE_32X32,1,6,257,y12);
PA_CreateSprite(0,27,(void*)bolafutbol_Sprite,OBJ_SIZE_32X32,1,7,257,y13);
PA_CreateSprite(0,2,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,40);
PA_CreateSprite(0,3,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,70);
PA_CreateSprite(0,4,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,100);
PA_CreateSprite(0,5,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,130);
PA_CreateSprite(0,6,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,170);
PA_CreateSprite(0,7,(void*)puntoazul_Sprite,OBJ_SIZE_16X16,1,2,257,n);
PA_CreateSprite(1,10,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,13,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,14,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,15,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,16,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,17,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,18,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,19,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,20,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,21,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,22,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,23,(void*)tubo_13_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,11,(void*)tubo_1_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,12,(void*)tubo_2_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,24,(void*)tubo_14_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,30,(void*)tubovacio_0_Sprite,OBJ_SIZE_64X32,1,12,0,192);
PA_CreateSprite(1,31,(void*)tubovacio_1_Sprite,OBJ_SIZE_64X32,1,13,0+64,192);
PA_CreateSprite(1,32,(void*)tubovacio_2_Sprite,OBJ_SIZE_64X32,1,14,64+64,192);
PA_CreateSprite(1,33,(void*)tubovacio_3_Sprite,OBJ_SIZE_64X32,1,15,64+64+64,192);
x=128-16;
y=96-16;
PA_ResetBgSys();   
 
 
PA_EasyBgLoad(0,0,menudown);
PA_EasyBgLoad(1,0,menuup);
}	

Imagen de The Dark Master

Mmm...Ponlo asi:

if(lop==1 && Pad.Newpress.B){
 
 
 
PA_CreateSprite(0,8,(void*)bit_Sprite,OBJ_SIZE_16X16,1,4,x9,y9);
x9=12;
y9=42;
xy9=0;
 
scr=0;
speed=1;
tiempo=0;
milesimas=0; //variable milesimas
segundos=00; //variable segundos
puntos=0;
puntosganados=0;
malesimas=0;
minutos=0;
PA_OutputText(1,0,15,"Has ganado %d puntos ",puntosganados,PA_VBLCounter[puntosganados]);
PA_OutputSimpleText(1,0,0," ");
lop=0;
PA_CreateSprite(0,0,(void*)puntonegro_Sprite,OBJ_SIZE_32X32,1,0,257,y);
PA_CreateSprite(0,1,(void*)bolalila_Sprite,OBJ_SIZE_32X32,1,10,257,y10);
PA_CreateSprite(0,25,(void*)bolapika_Sprite,OBJ_SIZE_32X32,1,11,257,y11);
PA_CreateSprite(0,26,(void*)bolacebra_Sprite,OBJ_SIZE_32X32,1,6,257,y12);
PA_CreateSprite(0,27,(void*)bolafutbol_Sprite,OBJ_SIZE_32X32,1,7,257,y13);
PA_CreateSprite(0,2,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,40);
PA_CreateSprite(0,3,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,70);
PA_CreateSprite(0,4,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,100);
PA_CreateSprite(0,5,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,130);
PA_CreateSprite(0,6,(void*)puntoblanco_Sprite,OBJ_SIZE_16X16,1,1,257,170);
PA_CreateSprite(0,7,(void*)puntoazul_Sprite,OBJ_SIZE_16X16,1,2,257,n);
PA_CreateSprite(1,10,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,13,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,14,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,15,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,16,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,17,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,18,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,19,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,20,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,21,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,22,(void*)tubo_6_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,23,(void*)tubo_13_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,11,(void*)tubo_1_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,12,(void*)tubo_2_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,24,(void*)tubo_14_Sprite,OBJ_SIZE_16X32,1,5,0+32+32+32+32+32,192);
PA_CreateSprite(1,30,(void*)tubovacio_0_Sprite,OBJ_SIZE_64X32,1,12,0,192);
PA_CreateSprite(1,31,(void*)tubovacio_1_Sprite,OBJ_SIZE_64X32,1,13,0+64,192);
PA_CreateSprite(1,32,(void*)tubovacio_2_Sprite,OBJ_SIZE_64X32,1,14,64+64,192);
PA_CreateSprite(1,33,(void*)tubovacio_3_Sprite,OBJ_SIZE_64X32,1,15,64+64+64,192);
x=128-16;
y=96-16;
PA_init();
PA_InitVBL();
PA_ResetBgSys();
PA_ResetSpriteSys();
PA_InitText(0,0);
PA_InitText(1,0);


 
 
PA_EasyBgLoad(0,0,menudown);
PA_EasyBgLoad(1,0,menuup);
}

Imagen de Cheleon

El compilador me da este

El compilador me da este error ponienod lo que dices tu:

Undefined reference "PA_init" pero ahora que lo escribo veo que es porque has puesto init en minusculas, ahora pruebo haver si funciona.

Imagen de Cheleon

El problema sigue... X(

El problema sigue... X(

Imagen de The Dark Master

Que cosa mas rara...

No se me ocurre nada mas que decir...

Imagen de Cheleon

es lo que dices, es muy raro,

es lo que dices, es muy raro, porque con otro fondo no pasa eso...

Imagen de Anabol

Sería muy raro peroooo

Podría ser una mala conversión del archivo.

Salu2tS!

Imagen de Cheleon

No, eso no puede ser, porque

No, eso no puede ser, porque primero se me carga bien, y cuando salgo de la tienda tambien, es solo cuando me matan y retorno al menu.

Imagen de The Dark Master

Bueno yo sigo pensando que es texto :P.

Porque en el bucle del menu tienes que tener algo de texto fijo, no el de cuando cargas el Bg, si no el de manipular el menu.

Imagen de Cheleon

Pero que no puede ser, porque

Pero que no puede ser, porque con la otra imagen de fondo me iba bien, pero ya volvere a revisarlo (por 87342502730927403287 vez)

Imagen de The Dark Master

Pues no tengo ni idea de que puede ser.

Lo unico que puedo decirte es que antes le paso eso a otro usuario y KnightFox le dijo que era por que Palib permite muy poca compatibilidad con tiles.

Tal vez sea de las nuevas Palib, porque yo tengo las 2008 y a mi no me pasa eso.


Imagen de Cheleon

Yo uso las que te dan en un

Yo uso las que te dan en un tuto de youtube que me recomendaron aqí. No tengo ni idia cuales son.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.