ayuda con javascript

FuckYeah

Buenas, antes de nada, decir que he buscado por google todo lo que he podido. El problema era no saber qué buscar.

Mis conocimientos de JAVA son 0. Aún así he copiado y manipulado un pequeño SCRIPT que os pongo aquí:

Mi código JAVASCRIPT

¿Qué hace? Pues son 5 botones y dirige un robot. Esto funciona perfecto, pero me gustaría añadir que el botón #PARA estuviera presionado siempre que no presiones otra cosa.

Os pongo en situación:
Le doy a AVANZA y el robot avanza, pero hasta que no le doy a parar no para. ¿Cuál es el problema? Que llega a salir del radio de WIFI y el robot no para nunca.
Me gustaría que si yo suelto el botón AVANZA volviera a seleccionarse automáticamente el de #PARA.

A ver si podéis echarme una mano, aunque sea a buscar en google, porque no sé cómo usar el buscador para buscar eso ya que desconozco el lenguaje.

Gantorys
  • Java != javascript
  • Utiliza la etiqueta
1 respuesta
FuckYeah

#2 Perdón.

Si algún mod me la cambia me hace el favor.

eXtreM3

Añádele la clase boton_activo a #para y se la quitas cada vez que pulses cualquier otro botón o salte un evento.

Y por cierto, ese código puede estar muchísimo más limpio.

1 respuesta
gonya707

editado, aunque tu mismo podrias haberlo hecho xD

1 respuesta
babri

en tu botón le pones una clase para cuando el robot está parado y que de sensación de que está activado y cuando presiones otra tecla le cambias la clase y haces que no esté activado, y cuando dejes de presionar le vuelves a cambiar la clase.

Cuando hagas un evento click lo primero que haces es un bind y así te quitas el evento anterior creo que con off también tira ;) tampoco soy un hacha en js :P

2 respuestas
FuckYeah

#4 Esque no tengo ni idea, está sacado de internet de otro proyecto.

Tu solución parece ser lo que busco. Mi gran problema, es que no sé cómo desarrollar eso xD. Podrías mencionar la función javascript que hace eso? Y ya de ahí google y me busco la vida, que no pretendo que trabajéis por mí ni mucho menos.

#6 Parece que decís lo mismo.

Lo que he encontrado hasta ahora es este evento:

onkeydown Pulsar una tecla (sin soltar)

Creo que con eso podría hacerlo.

Si añado esto a todos los botones modificando para que al soltar vuelva a activar el botón #PARA, sería lo que me decís vosotros?

object.addEventListener("keydown", myScript); 
1 respuesta
eXtreM3

#7 lo que estás utilizando en #1 es básicamente jQuery, una librería de javascript.

El código exacto para añadir y quitar clases de tu botón es así:

$("#para").addClass("boton_activo");
$("#para").removeClass("boton_activo");

Donde pone

$(this)

significa que "esto" es el objeto con el que acabas de interactuar.

Todo el código en general que tienes en #1 es bastante intuitivo, simplemente con leerlo en inglés sabes lo que hace todo.

FuckYeah

http://hc.apache.org/httpclient-3.x/

En el primer apartado dice que ya no tiene soporte y tal...

#6 Lo probé y Android Studio no me reconoce eso.

Se supone que hay que usar HttpComponents --> http://hc.apache.org/ pero mi problema es que yo sigo tutoriales dado mi pésimo nivel y no hay NINGUNO.

#5 Eso lo tengo claro y hay infinita documentación de cómo hacerlo y tal. El problema surge cuando pones HttpClient var = DefaultHttpClient(); que aparece TACHADO en Android Studio y si pones el ratón encima dice claramente DEPRECATED (que viene a ser OBSOLETO) a partir de la API 22.

Indagando más sobre HttpComponents he encontrado esto:
https://itellity.wordpress.com/2014/01/21/handling-deprecated-warnings-in-apaches-httpclient-and-httpparams/
Que enlaza directamente con un ejemplo de cómo hacerlo:
http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientConfiguration.java

Es mi solución? Es lo que busco?

Gantorys

En todos los botones tendrías que poner que al soltar la tecla parara.

var parar = function() {
    // parar
};

$('#avanza').mousedown(function() {
    // avanzar
}).mouseup(parar);

o igual para no repetir, algo así creo

$('#avanza').mousedown(function() {
    // avanzar
});

$('#izquierda').mousedown(function() {
    // ir a la izquierda
});

// etc

// esto para todos
$('#avanzar, #izquierda, #derecha').mouseup(function() {
    // parar
});
1 1 respuesta
FuckYeah

#10 Voy a ello, muchas gracias!

Usuarios habituales

  • FuckYeah
  • Gantorys
  • eXtreM3
  • babri
  • gonya707