PDA

Ver la versión completa : Sonidos y Textos con Fenix



Samuso
13/06/2005, 12:59
Hola a todos, estoy liado con un jueguecillo y tengo un par de dudas (o siete :risas:).

Ahi van:

Sonido:

- Estoy usando las funciones 'Load_Wav', 'Play_Wav', etc, pero siempre
que uso el stop o el pause se aborta el programa, de modo que
reproduzco algunos efectos 'encima' de la música de fondo, ¿sabeis a
qué puede deberse?

- ¿es buena opción usar Wavs? Tengo ficheros pequeños y los
reproduzco en bucles para la música de fondo, por ejemplo

- No me funcionan bien si no tengo el fichero en el mismo directorio que
el prg, ¿eso es así?, ¿no puedo tenerlos por ejemplo en una
carpeta '.\Sonidos'?, por ejemplo

Textos:
- he creado una fuente con el FNT Edit, y le he dado un color verde,
pero al mostrar el texto, se me muestra en negro siempre. Uso las
funciones load_fnt para cargarla y write para escribirlo (con el
identificador de fuente que me devolvió la función anterior)

- por cada fuente hay que crear un fichero '.fnt', o pueden ir varias en
cada fichero como en los '.fpg'?

- ¿el texto siempre se escribe 'por encima' de las imágenes, sea cual sea
la profundidad (Z) de éstas? lo digo porque write no tiene parámetro
para indicar la profundidad a la que escribir


Una duda trascendental más y termino: :risas: :risas:

Tengo un problema desde el principio que no se a qué es debido.
Mi juego es tipo puzzle, con fichas que debemos seleccionar con un puntero(digamos como el shangai). Pues bien, al pasar el puntero por encima de las fichas (es una imagen de 30x30 con el fondo negro y un dedo en el centro), la imagen de las fichas se ve afectada, es como si de modificaran algunos pixeles, no se, luego al pasar de nuevo, se vuelven a cambiar los píxeles.
Es muy raro y no entiendo a qué puede deberse.
Las fichas están dibujadas a Z=50 y el cursor he probado con muchas Z, tanto positivas, como negativas y siempre pasa igual. :canon2: :(

Cualquier respuesta será bien recibida. ;) :brindis:

Muchas gracias. ;)

Saludos.

nazca
13/06/2005, 13:40
Hola a todos, estoy liado con un jueguecillo y tengo un par de dudas (o siete :risas:).

Ahi van:

Sonido:

- Estoy usando las funciones 'Load_Wav', 'Play_Wav', etc, pero siempre
que uso el stop o el pause se aborta el programa, de modo que
reproduzco algunos efectos 'encima' de la música de fondo, ¿sabeis a
qué puede deberse?

- ¿es buena opción usar Wavs? Tengo ficheros pequeños y los
reproduzco en bucles para la música de fondo, por ejemplo


No se aclararte tu problema en concreto, pero si puedo decirte que a mi, los wavs me daban problemas. En mi caso era al romper un bucle, y al cargar y descargar de memoria de manera continuada. Ni idea de por qué ocurre ésto, seguramente fuera mi falta de tacto.



- No me funcionan bien si no tengo el fichero en el mismo directorio que
el prg, ¿eso es así?, ¿no puedo tenerlos por ejemplo en una
carpeta '.\Sonidos'?, por ejemplo


¿Te pasa en el PC o en la GP32? En el PC no debería de haber problemas, revisa tu IDE por si alguna ruta está mal puesta. En la GP32 creo recordar que tenían que estar todos los archivos en el mismo directorio.



Textos:
- he creado una fuente con el FNT Edit, y le he dado un color verde,
pero al mostrar el texto, se me muestra en negro siempre. Uso las
funciones load_fnt para cargarla y write para escribirlo (con el
identificador de fuente que me devolvió la función anterior)


Eso es, probablemente, porque la fuente que has creado está a 16 bit de color y estás trabajando en tu programa a 8 bit, y lo peor es que el FNT Edit no puede manejar fuentes de 8 bit. La manera más eficaz de crearlas correctamente es con el propio Div Studio. De hecho, creo que incluía un conversor de true type a .fnt.
Alguien que tenga el programa te puede echar un cable y convertir las fuentes por tí.



- por cada fuente hay que crear un fichero '.fnt', o pueden ir varias en
cada fichero como en los '.fpg'?


Un tipo por cada .fnt



- ¿el texto siempre se escribe 'por encima' de las imágenes, sea cual sea
la profundidad (Z) de éstas? lo digo porque write no tiene parámetro
para indicar la profundidad a la que escribir


Siempre se escribe encima. Para poner un texto por debajo de un gráfico tendras que tratarlo como una imagen normal y jugar con las Z's.



Una duda trascendental más y termino: :risas: :risas:

Tengo un problema desde el principio que no se a qué es debido.
Mi juego es tipo puzzle, con fichas que debemos seleccionar con un puntero(digamos como el shangai). Pues bien, al pasar el puntero por encima de las fichas (es una imagen de 30x30 con el fondo negro y un dedo en el centro), la imagen de las fichas se ve afectada, es como si de modificaran algunos pixeles, no se, luego al pasar de nuevo, se vuelven a cambiar los píxeles.
Es muy raro y no entiendo a qué puede deberse.
Las fichas están dibujadas a Z=50 y el cursor he probado con muchas Z, tanto positivas, como negativas y siempre pasa igual. :canon2: :(

Cualquier respuesta será bien recibida. ;) :brindis:


Mira, no tengo mucho tiempo para buscar ahora mismo, pero creo recordar que por el foro alguien tuvo el mismo problema alguna vez. De hecho creo que fue Anarchy con el clon del Pang o Pixel, no recuerdo. Busca y vencerás ;)



Muchas gracias. ;)

Saludos.

Un saludo y suerte.

Darumo
13/06/2005, 14:08
yo apenas he usado fenix (solo he hecho alguna pruebecilla para ver como era de diferente con respecto Div que era enlo que yo habia programa), sobre lo que mencionas yo creo que si lo que quieres es poner como musica lo mejor es no usar WAV, dejalo para los efectos de sonido que es para lo que es y no necesitaras de hacerle un Stop, pasa la musica a OGG y usa la instruccion para la carga y reproducion de OGG o usa en tu programa musica en formato modulo (MOD/S3M/XM/IT).

Sobre las fuentes ni idea, lo siento.

¿como has hecho lo del puntero? a lo mejor es por la forma en que lo haces que no sea del todo correcta, aunque seria raro ya que supongo que no habras hecho mas que usar unas coordenadas X,Y en un proceso con el grafico del puntero.

Samuso
13/06/2005, 14:30
Gracias a los 2. ;)

He buscado el problema de Anarchy y no encuentro un caso como el mio, quizá fuera de otra persona, seguiré buscando. :)

Respecto a cómo muevo el puntero, efectivamente voy cambiando su X e Y manteniendo el graph con el valor inicial.

En fin, ya probaré cosillas. ;)

Gracias de nuevo.

Si alguien sabe algún detalle más o quiere darme algún consejillo, lo leeré con interés. ;)

Saludos.

nazca
13/06/2005, 14:49
yo apenas he usado fenix (solo he hecho alguna pruebecilla para ver como era de diferente con respecto Div que era enlo que yo habia programa), sobre lo que mencionas yo creo que si lo que quieres es poner como musica lo mejor es no usar WAV, dejalo para los efectos de sonido que es para lo que es y no necesitaras de hacerle un Stop, pasa la musica a OGG y usa la instruccion para la carga y reproducion de OGG o usa en tu programa musica en formato modulo (MOD/S3M/XM/IT).

Estoy de acuerdo, sólo un matiz, no podrás usar OGG ni MIDI en GP32 aunque si MOD y variantes.


He buscado el problema de Anarchy y no encuentro un caso como el mio, quizá fuera de otra persona, seguiré buscando.

Vaya... juraría que lo he visto por alguna parte :loco:

chipan
13/06/2005, 14:59
Sólo un detalle, respecto a lo que comentasteis acerca de los textos sobre o bajo los gráficos; en el DIV se podían pintar gráficos por encima de los textos modificando la Z del proceso; así como pintarlos por debajo o entre los 2 planos de scroll. No se si en fenix se puede.

adolomitica
13/06/2005, 15:56
Tengo un problema desde el principio que no se a qué es debido.
Mi juego es tipo puzzle, con fichas que debemos seleccionar con un puntero(digamos como el shangai). Pues bien, al pasar el puntero por encima de las fichas (es una imagen de 30x30 con el fondo negro y un dedo en el centro), la imagen de las fichas se ve afectada, es como si de modificaran algunos pixeles, no se, luego al pasar de nuevo, se vuelven a cambiar los píxeles.
Es muy raro y no entiendo a qué puede deberse.
Las fichas están dibujadas a Z=50 y el cursor he probado con muchas Z, tanto positivas, como negativas y siempre pasa igual. :canon2: :(

No se si será el mismo problema que me ha dado a mi alguna vez que quedan unos pixels en la pantalla al pasar un sprite y al volver a pasar desaparecen. Si es eso dejale uno o dos pixeles transparentes por los dos lados, por arriba y por abajo para que actualice mejor el fondo y se solucionará.

Samuso
14/06/2005, 10:40
No se si será el mismo problema que me ha dado a mi alguna vez que quedan unos pixels en la pantalla al pasar un sprite y al volver a pasar desaparecen. Si es eso dejale uno o dos pixeles transparentes por los dos lados, por arriba y por abajo para que actualice mejor el fondo y se solucionará.

Si, es más o menos eso, pero el Sprite que paso por encima ya tiene muchos píxeles transparentes, de hecho solo es una mano rodeada de píxeles negros.
Si te refieres a las fichas, quedaría un poco raro, no?

Imagina un Shangai con huecos entre las fichas...

De todas formas probaré a ver si es eso. ;)

Saludos.

joanvr
14/06/2005, 18:30
El problema de los pixeles que cambian o el rastro que dejan se soluciona poniendo las siguientes lineas:


restore_type=1;
dump_type=1;

adolomitica
14/06/2005, 18:34
Si, es más o menos eso, pero el Sprite que paso por encima ya tiene muchos píxeles transparentes, de hecho solo es una mano rodeada de píxeles negros.
Si te refieres a las fichas, quedaría un poco raro, no?

Imagina un Shangai con huecos entre las fichas...

De todas formas probaré a ver si es eso. ;)

Saludos.
Me referia a la mano, porque lo que deja los pixeles es el objeto que se mueve.
Si no te funciona prueba a definir el negro de la mano por transparente a ver si se soluciona.

joanvr
14/06/2005, 19:37
Me referia a la mano, porque lo que deja los pixeles es el objeto que se mueve.
Si no te funciona prueba a definir el negro de la mano por transparente a ver si se soluciona.

No es preciso meter un borde negro alrededor de todos los graficos que se mueven, con las lineas de codigo que he puesto antes hay suficiente.

Samuso
15/06/2005, 12:19
Muchísimas gracias a todos. ;)

Ya lo he solucionado como comentó joanvr.
Esas 2 líneas de código hacen milagros. :D :D

La de cosas que nunca sabré sobre Fenix. :|

En fin, a seguir con el juego y a aprender. ;)

Saludos.