Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Simplificar esta operación

Estas en el tema de Simplificar esta operación en el foro de Javascript en Foros del Web. Les vengo a plantear una cuestionq ue me surgio al realizar un programa, resulta que tengo un array con ciertos valores. Lo que pretendía hacer ...
  #1 (permalink)  
Antiguo 11/02/2015, 15:00
 
Fecha de Ingreso: enero-2015
Ubicación: Gijon
Mensajes: 10
Antigüedad: 9 años, 3 meses
Puntos: 1
Pregunta Simplificar esta operación

Les vengo a plantear una cuestionq ue me surgio al realizar un programa, resulta que tengo un array con ciertos valores.
Lo que pretendía hacer es que al pulsar una tecla determinada en el teclado,al valor de array[1] se le sumase 50, por lo que realizé lo siguiente:(Obviare la parte de código que no sea relevante):


Comprobe si efectuaba el cambio añadiendo un alert(pad1[1]) antes y despues de realizar el cambio, el primer alert lo ejecutaba, pero el ultimo ya no.

Finalmente solucione sacando el valor de pad1[1]a una variable, modificar la variable e introducir esa nueva variable como pad1[1], con lo que me quedo lo siguiente:

Realice la misma comprobación que con el anterior código, y esta vez si que me funcionó. Mi pregunta es si mi método es el único(que estoy seguro que no), o existe alguno mas simple
  #2 (permalink)  
Antiguo 11/02/2015, 16:33
 
Fecha de Ingreso: enero-2015
Ubicación: Gijon
Mensajes: 10
Antigüedad: 9 años, 3 meses
Puntos: 1
Respuesta: Simplificar esta operación

Olvidad el tema, tras 2 horas comiendome el tarro me he fijado ahora en las imagenes que pase, y que lo que puse fue pad1[1]=pad[1]+50, en lugar de pad1[1]=pad1[1]+50.

Menuda idiotez la mia.
  #3 (permalink)  
Antiguo 12/02/2015, 13:33
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Simplificar esta operación

Es mejor controlar el teclado de esta otra manera:

http://jsfiddle.net/marlanga/kyoody4p/

Código Javascript:
Ver original
  1. var Teclado = {
  2.     CURSOR_ARRIBA : false,
  3.     CURSOR_ABAJO : false,
  4.     CURSOR_DERECHA : false,
  5.     CURSOR_IZQUIERDA : false,
  6.     ESPACIO : false,
  7.     establecer : function ( keyCode, booleano ) {
  8.         switch( keyCode ) {
  9.                 case 32:
  10.                     Teclado.ESPACIO = booleano;
  11.                     break;
  12.                 case 37:
  13.                     Teclado.CURSOR_IZQUIERDA = booleano;
  14.                     break;
  15.                 case 38:
  16.                     Teclado.CURSOR_ARRIBA = booleano;
  17.                     break;
  18.                 case 39:
  19.                     Teclado.CURSOR_DERECHA = booleano;
  20.                     break;
  21.                 case 40:
  22.                     Teclado.CURSOR_ABAJO = booleano;
  23.                     break;
  24.             }
  25.     },
  26.     cargar : function( element ) {
  27.         element.onkeydown = function (e){
  28.             Teclado.establecer( e.keyCode, true );
  29.         };
  30.         element.onkeyup = function (e){
  31.             Teclado.establecer( e.keyCode, false );
  32.         };
  33.     }
  34. };
  35. Teclado.cargar(document.body);

A ésto se le conoce como sistema de "notificaciones". Yo guardo en un objeto Teclado que una tecla concreta está pulsada. El resto del código puede mirar ese objeto para comprobar si en esa vuelta del "bucle" se está pulsando una tecla dada. Esto, junto al tiempo "delta" es la base de todo videojuego simple.

En mi firma hay un enlace a un viejo blog mío donde hacía (y quiero retomar algún día) tutoriales de pequeños videojuegos, y en varios de ellos se puede ver cómo hago uso del teclado.

Etiquetas: matriz, simplificar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:21.