Basic - Teclas

 
Vista:

Teclas

Publicado por Carlos (3 intervenciones) el 27/10/2001 01:57:14
Cuando estamos en DOS (programando en qbasic) y queremos hacer que un sprite(por ejemplo) se mueva por la pantalla según las flechas de dirección, ponemos por ejemplo un inkey$ ¿no? entonces al pulsar una tecla y mantenerla pulsada el sprite se mueve un poco, se para y se mueve de nuevo normalmente.

Como sabemos, esto se debe a la pausa que hace el ordenador antes de empezar a repetir la tecla pulsada.

Lo que quiero saber es: ¿cómo se elimina dicha pausa para conseguir un movimiento continuo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Teclas........

Publicado por Lito Fauz (12 intervenciones) el 27/10/2001 10:30:01
He usado el Inkey$ y ese retardo no me sucede. Podría ser un error de lógica enque el prog. no es enviado de retorno ala línea de código correcta. O que hace muchos rodeos innecesarios. ¿No pusiste en algún lugar un 'Sleep 1' que se te olvidó quitar?. Esos errores de lógica es en dónde más se sufre para descubrirlos.
Debo recordate que quizás son demasiadas las líneas que lee antes de retornar a captar la siguiente tecla. O que tu computor está lento por exceso de progs. abiertos a la misma vez. Esto último, si la velocidad de tu procesador es baja.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Re: RE:Teclas........

Publicado por Carlos (3 intervenciones) el 11/11/2001 19:05:10
¿A ti nunca te ha sucedido? ¡¡Que suerte!! Porque a mi me ha sucedido toda la vida...

no se...

en fin gracias por tu respuesta...

Nota: ¿me puedes mandar el programita de prueba que hiciste?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Re: Re: Re: Teclas........

Publicado por Lito Fauz (14 intervenciones) el 01/12/2001 07:56:50
-----------------------------------------------------------------------------------------------
No tengo bien claro qué esún 'sprite'. A mí me parece que es mucho el código que recorre el prog. antes de releer la siguiente tecla. Estas son líneas que acostumbro:
_____________________________________________________________________________________________
Releer:
Do: Tecla$=Inkey$: Loop Until tecla$<>""
Codigo.tecla% = CVI(tecla$ + Chr$(0))
If Codigo.tecla% <= bla.bla.bla Then .........
.............................................
End If:
Goto Releer:
______________________________________________________________________________________________
|||||||||||||¿Sirve?||||||||||||||||
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Re: Re: Re: Teclas........

Publicado por Carlos (3 intervenciones) el 03/01/2002 00:30:07
Un sprite es lo que llamo yo a un grafico en movimiento (en qbasic se consigue con get y put). Seguro que ahora ya sabes a lo que me refiero ¿no?

A mi me sigue haciendo la pausita antes de empezar a repetir (incluso con tu código).

Si fuese como tu dices, exceso de código antes de releer la siguiente tecla, tardaría siempre lo mismo en hacer la repetición, pero no, siempre se para la primera vez.

Gracias de todas formas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Re: Re: Re: Teclas........

Publicado por cristian santos (18 intervenciones) el 23/03/2004 03:17:57
prueba con la funcion INP, ya que esta lee el teclado
en el puerto h60 y se elimina en gran medida el retardo que
ocasiona la funcion inkey$ si no sabes usar INP no dudes en
preguntarme en este foro o en mi mail
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar