Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: haitortiya on February 23, 2012, 11:56:20 AM

Title: Editar teclado en juego
Post by: haitortiya on February 23, 2012, 11:56:20 AM
Me encuentro en una gran encrucijada.
Intentando cambiar las teclas definidas, para poder volver a definirlas enjuego. Os pongo
en situacion.

Las acciones se ejecutan asi:
//private
      int tecla1;

loop
      if ( key(tecla1))

Y en el menu de opciones lo cambio y lo guardo segun una variable CHAR, el usuario mete
por teclado W, por ejemplo, y te la pinta segun el char. El prblema es que cuando vuelvo al
proceso anterior y transformo la variable tecla1 segun la guardada ( tecla1 = guardar_tecla[1] ).
El caso es que ASCII de W es 119 y el _W para presionar la tecla es 17 creo.
(tanto la variable como la que se guarda, son char )

Alguien tiene una solucion, que no sea transformar todas las letras ( if (tal == 199 )tal=17;end)

Creo que me he rayado y me estoi saltando algo, gracias por la ayuda.
Title: Re:Editar teclado en juego
Post by: BlySntK on February 23, 2012, 12:29:29 PM
Cambiar las teclas por "defecto" es fácil. No te comas la cabeza con definir chars ni nada, es más sencillo que eso. Tú define una sola variable privada, como la que tienes, tecla1 y te haces una lista con las teclas asignadas automaticamente, las que el teclado tiene. Tras eso, lo único que tienes que hacer es ir comprobando y guardando cada tecla predefinida con la funcion scan_code() que sirve para detectar cualquier tecla pulsada dentro del código ascii, no es lo mismo que con key, porque son funciones de detección de tecla diferentes... Si quieres cambiar de tecla es uno de los modos más fáciles de hacer y rápidos.


Espero haberte ayudado :)
Title: Re:Editar teclado en juego
Post by: Rein (K´)ah Al-Ghul on February 23, 2012, 02:59:56 PM
como te dicen arriba toma el scancode...
scancode es una variable global no una funcion o al menos asi aparece en la wiki

http://wiki.bennugd.org/index.php?title=Scancodes (http://wiki.bennugd.org/index.php?title=Scancodes)


en opinion mia, sera mejor tener una estructura con las teclas, al menos tendras los controles juntos y mas entendibles...
asi en el if con el key quedaria algo aso

Quoteif ( key( control.arriba ) )
...
end


Title: Re:Editar teclado en juego
Post by: haitortiya on February 23, 2012, 03:04:17 PM
Dos puntos.

    - Muchas gracias por el comando "Scan_code", es lo que me faltaba, se me habia ido la cabeza y no se me ocurria
pero por nada del mundo. Gracias

    - Y segundo, el Char es super necesario, te voi a poner una imagen de lo que es el menu para que asi puedas ver
mejor como lo he estructurado.
http://imageshack.us/photo/my-images/829/sinttuloddq.png/
*No se me coloca insertada, nose por que no va ¬¬ ( Nunca muestro imagenes de mis juegos antes de su publicacion,
pero asi queda mas claro lo que queria hacer :) )


Y lo que he echo ha sido, estructurarlo en dos partes, una linea de variables hace referencia a el CHAR que se ve por pantalla
y otra linea de variables, lanza los IDs de las teclas pulsadas. ( Por que separarlo en dos lineas totalmente distintas de variables?
es una mania mia, para una mejor organizacion y una mejor lectura del codigo despues )

Gracias por la ayuda
PD: Te daria "karma", pero nose que es, ni se dar :S Solo se que cuando alguien hace algo bien le dais Karma, jejeje
Un saludo
Title: Re:Editar teclado en juego
Post by: BlySntK on February 23, 2012, 03:40:25 PM
De nothing jefe ;) El karma  se da, si te fijas, debajo del avatar ves que pone Karma y debajo unas manos? Pues con darle a la mano con el pulgar arriba y logo en el recuadro blanco poner ayuda, es suficiente.

Otra cosa, entiendo lo que me dices, es una buena manera de hacerlo, es bueno organizar todo con structuras y TDUs (yo así lo hago) y demás. El menú lo tienes muy chulo, si te hace integrarte en algún proyecto ajeno, yo estoy escaso de colaboradores, estoy con futu pero el pobre tiene demasiado jaleo y no llega a todo, jeje (hace lo que puede), si te hace, dímelo :)
Title: Re:Editar teclado en juego
Post by: Rein (K´)ah Al-Ghul on February 23, 2012, 03:58:06 PM
era un input...
en la wiki hay un ejemplo:
http://wiki.bennugd.org/index.php?title=Tutorial:Textinput (http://wiki.bennugd.org/index.php?title=Tutorial:Textinput)

y creo que el libro de osk hay otro...
Title: Re:Editar teclado en juego
Post by: BlySntK on February 23, 2012, 03:59:13 PM
Quote from: Rein (K´)ah Al-Ghul on February 23, 2012, 03:58:06 PM
era un input...
en la wiki hay un ejemplo:
http://wiki.bennugd.org/index.php?title=Tutorial:Textinput (http://wiki.bennugd.org/index.php?title=Tutorial:Textinput)

y creo que el libro de osk hay otro...

muy cierto rein
Title: Re:Editar teclado en juego
Post by: haitortiya on February 23, 2012, 04:01:17 PM
jaja me encantaria meterme en cualquier proyecto, en este foro hay proyectos muy chulos y da pinta de que aqui sois
todos muy buenos programando. El unico problema es que estoi metido en el grado superior de DAI ( Que se le llamara
tambien DAM - Diseño de Aplicaciones Informaticas ), vamos, programacion. Y no tengo tiempo de nada, el juego lo voi
haciendo en mis tiempos libres.

Pero si quieres te puedo ayudar en alguna cosilla, no muy grande ( Como un proyecto :) ) o si eres de zaragoza y te
paseas por los cursos de windgate quizas nos vemos :) ( Fue mi "Maestro enseñador de Bennu" hace 4 años :) )

A y se me olvidaba: karma++!!

Rein, a tu mensaje, no he probado el input, lo probare haber si me va bien igual, pero este me ha funcionado muy bien
Gracias a los dos

Un saludo

PD: Calculo que dentro de 4 meses tendre listo el juego, estoi explotando al maximo la libreria bennuplaynet, con
repeticion de hasta 4 jugadores tras un servidor. :P
Title: Re:Editar teclado en juego
Post by: BlySntK on February 23, 2012, 04:09:20 PM
No sé si sabrás que ando en mi primer proyecto estable y de larga duración; un plataformas con tintes RPGs, estoy documentándolo todo y haciendo los primeros bocetos, pero claro, no sé ir más allá de bocetos y necesito a un mínimo de una persona (que en ello intenta estar futublock) para realizarlo. Está claro que necesito al menos a uno más pero... sprinteros o grafistas veo pocos, estarán ocupados en otros proyectos, lo comprendo... Yo también soy zaragozano pero no suelo quedar con gente que no conozco (mi mamá me lo enseñó xD) pero vamos, que colaboración necesito así que, si te apetece, yo te paso bocetos de lo que vaya haciendo y puedes estudiar la manera de hacerlos, no ten dría problema; sólo te pediría una condición y es que seas constante si te unes, creo que es justo.

Ya me dirás y, ánimo con tu proyecto, en el que podría ayudarte en algunas cuestiones de programación, sé defenderme en Bennu, llevo años de aprendizaje, la programación no es sencilla pero, una vez la aprendes, es adictiva.

Un saludete :)
Title: Re:Editar teclado en juego
Post by: haitortiya on February 23, 2012, 04:19:35 PM
Jaja no, no me voi a unir simplemente por la razon de que estamos a mitad de curso, pero te dejo una pagina ( La
mia jaja ) donde tengo colgado un juego ( Combat Arena ) entre otros, que te puede ayudar en algunas cosas, ya
que todo el codigo que hago yo, lo dejo libre, por lo cual esta todo en prg. Yo llevo 4 años con Bennu, y se me da
bastante bien jeje.
http://haitortiyagames.com.ar/descargas.html (http://haitortiyagames.com.ar/descargas.html)

Copiate muchas cosas, como la "Gravedad", que ya esta predefinida por completo. O cosas como la de lso graficos
que deje en un post anterior. Ayudan bastante en la velocidad, yo al principio me copiaba de todo dios :) Y los
graficos dos cosas, los sprites los mangas de internet(Solo los liberados jeje ), y los mapas y menus, photoshop.
Simplemente como consejo para los dos que estais en el proyecto.

Suerte en tu proyecto, y si quieres ayuda para algun codigo ya sabes, lo cuelgas en este foro, que en 30 segundos
te ayuda alguien :)

Y sobre lo que te dice tu mama... Ami me viene justa la mayoria de edad, solo digo eso :)

Un saludo
Title: Re:Editar teclado en juego
Post by: BlySntK on February 23, 2012, 04:35:51 PM
Quote from: Rein (K´)ah Al-Ghul on February 23, 2012, 02:59:56 PM
como te dicen arriba toma el scancode...
scancode es una variable global no una funcion o al menos asi aparece en la wiki

http://wiki.bennugd.org/index.php?title=Scancodes (http://wiki.bennugd.org/index.php?title=Scancodes)


en opinion mia, sera mejor tener una estructura con las teclas, al menos tendras los controles juntos y mas entendibles...
asi en el if con el key quedaria algo aso

Quoteif ( key( control.arriba ) )
...
end

Hombre, por mucho que sea una variable, no deja de ser una función... porque es la que detecta las teclas pulsadas, por tanto en su interior lleva algoritmos...