[PAlib] +Dudas

Bueno pues tengo tres dudas:
1ª- Cuando repreduzco un sonido raw en mi DS aparece muy ralentizado y con poco volumen, como puedo hacer para subir su volumen y que este a velocidad normal??? o seminormal...
Resuelto: Cargando un solo sonido para todas las reproducciones.
2ª- Como se puede hacer que aparezcan diferentes sprites dependiendo del volumen que este recibiendo el micro de la DS. Es decir, si haces un ruido de volumen 30 aparece un sprite. Si haces un ruido de volumen 100 aparece otro distinto; si haces un ruido de 200 aparece otro; etc...
Resuelto: Con la sugerencia de Rigle, modificandola un poquito. [sonrisa]
if (PA_MicGetVol() == 100) PA_CreateSprite(........


3ª- Como puedo repoducir un fondo que tenga mas de 256 colores??? (¿como puedo poner mas paletas o si dividiendolo daria resultado? y si fuera dividendo la imagen, como la reproduciria??)
Resuelto: PA_LoadJpeg

Saludos
P.D: Si puede ser explicarlo bien porque a veces me cuesta pillar algunas cosas [sonrisa]
1ª- Cuando repreduzco un sonido raw en mi DS aparece muy ralentizado y con poco volumen, como puedo hacer para subir su volumen y que este a velocidad normal??? o seminormal...


Tienes que intentar que la ram de la nds no se pete con el archivo...

2ª- Como se puede hacer que aparezcan diferentes sprites dependiendo del volumen que este recibiendo el micro de la DS. Es decir, si haces un ruido de volumen 30 aparece un sprite. Si haces un ruido de volumen 100 aparece otro distinto; si haces un ruido de 200 aparece otro; etc...


Si supiera las funciones te las diría, pero no las sé xD
Lo que yo haría seria algo así: (Con mi basto conocimiento de C o PaLib)
if (funcion de volumen) == 1
else (funcion k aparezca 1 muñeco)

Y ansi sunsensivanmente xD

3ª- Como puedo repoducir un fondo que tenga mas de 256 colores??? (¿como puedo poner mas paletas o si dividiendolo daria resultado? y si fuera dividendo la imagen, como la reproduciria??)


Yo cogia en el photoshop y le daba a imagen--> modo---> color indexado (al final de terminar la imagen) y escogia una paleta de esas, pero dejandolo a 256 colores.



Espero k te aya servio , k me explico muuy mal ^^
Saludos [Ooooo]
1- No se, a mi me pasa también, pero con los mp3. XD

2- Con ésto y un par de ifs te devería valer:
u8 micbuffer[100];
PA_MicStartRecording((u8*)micbuffer,100); //Iniciamos micro...
...
u8 volumen = PA_MicGetVol();
Ve probando el volumen que quieres.

3- Usa un fondo de 16 bit (echa un vistazo a los ejemplos de PAlib)... O divide la imagen por colores en varias imágenes con 256 colores y ponlas unas encima de otras...

Un saludo.
Bueno la duda del fondo la he resuelto pero las otras dos no. Gracias por vuestra ayuda.

4ª: Como se podria hacer que apareciera un texto cuando pulsas el boton A; pero que cuando pulses todos los demas botones aprezca otro texto distinto. (sin tener que poner una y otra vez Pad.Newpress.B.... Pad.Newpress.Y............. con todos los otros)
¿Sería con "if(Pad.Newpress.B && Pad.Newpress.Y &&......................)"? ¿y como?
Resuelto: if(Pad.Newpress.Anykey && !Pad.Newpress.A) o if(!=Pad.Newpress.A)

5ª: Sé que se pueden hacer uno pequeños menus con el PA_WaitFor y PA_DeleteBg (utilizandolos convenientemente); pero solo a partir de una pantalla podria pasar a otra pantalla. Mi duda aqui seria; ¿como puedo pasar de una pantalla a otras dos diferentes dependiendo de lo que quisiera?
(Vamos que pantalla-1 y si se pulsa A pasas a pantalla-1.1 y si pulsas B, en pantalla-1, pasas a pantalla-1.2)

Saludos y ayudadme y dadme ideas.
P.D: ayer no pude contestar porque se me cayo el internet; sorry [triston] .
0-00 escribió:Bueno la duda del fondo la he resuelto pero las otras dos no. Gracias por vuestra ayuda.

4ª: Como se podria hacer que apareciera un texto cuando pulsas el boton A; pero que cuando pulses todos los demas botones aprezca otro texto distinto. (sin tener que poner una y otra vez Pad.Newpress.B.... Pad.Newpress.Y............. con todos los otros)
¿Sería con "if(Pad.Newpress.B && Pad.Newpress.Y &&......................)"? ¿y como?

5ª: Sé que se pueden hacer uno pequeños menus con el PA_WaitFor y PA_DeleteBg (utilizandolos convenientemente); pero solo a partir de una pantalla podria pasar a otra pantalla. Mi duda aqui seria; ¿como puedo pasar de una pantalla a otras dos diferentes dependiendo de lo que quisiera?
(Vamos que pantalla-1 y si se pulsa A pasas a pantalla-1.1 y si pulsas B, en pantalla-1, pasas a pantalla-1.2)

Saludos y ayudadme y dadme ideas.
P.D: ayer no pude contestar porque se me cayo el internet; sorry [triston] .

Te respondo a la 4.
if(Pad.Newpress.Anykey && !Pad.Newpress.A)
0-00 escribió:Bueno la duda del fondo la he resuelto pero las otras dos no. Gracias por vuestra ayuda.

4ª: Como se podria hacer que apareciera un texto cuando pulsas el boton A; pero que cuando pulses todos los demas botones aprezca otro texto distinto. (sin tener que poner una y otra vez Pad.Newpress.B.... Pad.Newpress.Y............. con todos los otros)
¿Sería con "if(Pad.Newpress.B && Pad.Newpress.Y &&......................)"? ¿y como?

5ª: Sé que se pueden hacer uno pequeños menus con el PA_WaitFor y PA_DeleteBg (utilizandolos convenientemente); pero solo a partir de una pantalla podria pasar a otra pantalla. Mi duda aqui seria; ¿como puedo pasar de una pantalla a otras dos diferentes dependiendo de lo que quisiera?
(Vamos que pantalla-1 y si se pulsa A pasas a pantalla-1.1 y si pulsas B, en pantalla-1, pasas a pantalla-1.2)

Saludos y ayudadme y dadme ideas.
P.D: ayer no pude contestar porque se me cayo el internet; sorry [triston] .


Pues no es difícil la 5:
:1
Pantalla1
while
{
if(Pad.Newpress.A) goto 1.1;
if(Pad.Newpress.B) goto 1.2;
}
:1.1
pantalla 1.1
:1.2
pantalla 1.2

goto es el comando de ir a la etiqueta nombrada. Para poner una etiqueta es :nombre de la etiqueta.
alexpowerup escribió:Pues no es difícil la 5:
:1
Pantalla1
while
{
if(Pad.Newpress.A) goto 1.1;
if(Pad.Newpress.B) goto 1.2;
}
:1.1
pantalla 1.1
:1.2
pantalla 1.2

goto es el comando de ir a la etiqueta nombrada. Para poner una etiqueta es :nombre de la etiqueta.



No lo entiendo... lo he intentado pero no me sale.
Pongo unos nombres y tu me haces el ejemplo:
start.png
menu1.png
menu2.png
(Quiero pasar de start a menu1 o menu2 a mi antojo y pasar de menu1 y menu2 a start)

Saludos
P.D: Si puedes poner la plantilla de codigo entero, por si es dentro del while principal, si es despues o es antes (creando yo un while)
P.D2: en la fila de debajo de ":1" habria que poner el codigo de carga del fondo...supongo...., por cierto he visto que hay gente que pone eso asi ----> "1:" <----- conlos dos puntos detras.
Porque no haces un sprite con todos los menus i submenus i lo vas mobiendo por la pantalla? Actualizas una variable y ya ta. Me he explicado???
--------------------------------------
| | | | |
| Menu 1 | Menu 2 | Menu 3 | Menu 4 |
| | | | |
-------------------------------------- <=== Esto seria un sprite que puedes ir mobiendo
| | | | |
| Sub M1 | Sub M2 | Sub M3 | Sub M4|
| | | | |
--------------------------------------
7 respuestas