Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2011, 02:43
Avatar de autonotel
autonotel
 
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 21 años, 6 meses
Puntos: 13
Ajax de Pro Grullo

Hola, mis conocimientos en ajax son muy rudimentarios, a ver si me explico, y gracias de antemano por leer esta pregunta:

tengo esta fucnión y la llamada

Código:
function Control() {
	tecla=event.keyCode;
	//Controles "A"
	if (tecla==87) {dy=-10; diago=1;} //arriba W 
	if (tecla==83) {dy=10; diago=2;} //abajo S
	//Controles "B"
	if (tecla==38) {dz=-10; diago=1;} //arriba
	if (tecla==40) {dz=10; diago=2;} //abajo
}

</script>
</head>

<body onkeydown="Control()">

<h1>Ping Pong en HTML5 v0.1</h1>
<p>Programado por Arturo Bermejo Guardales</p>
<p>[email protected]</p>

<canvas id="stage" width="800" height="300">
Por favor, utiliza Firefox, Chrome, Safari u Opera.
</canvas>
Es de un juego.
Lo que busco es obtener el valor de tecla desde otro archivo, y que en cuanto se conozca el valor de tecla que ya se ejecute. Ahora mismo espera el evento onkeydown.

el valor lo puedo extraer con comet con este código
Código:
<script type="text/javascript">
var Comet = Class.create();
Comet.prototype = {

  timestamp: 0,
  url: './backend.php',
  noerror: true,

  initialize: function() { },

  connect: function()
  {
    this.ajax = new Ajax.Request(this.url, {
      method: 'get',
      parameters: { 'timestamp' : this.timestamp },
      onSuccess: function(transport) {
        // handle the server response
        var response = transport.responseText.evalJSON();
        this.comet.timestamp = response['timestamp'];
        this.comet.handleResponse(response);
        this.comet.noerror = true;
      },
      onComplete: function(transport) {
        // send a new ajax request when this request is finished
        if (!this.comet.noerror)
          // if a connection problem occurs, try to reconnect each 5 seconds
          setTimeout(function(){ comet.connect() }, 5000); 
        else
          this.comet.connect();
        this.comet.noerror = false;
      }
    });
    this.ajax.comet = this;
  },

  disconnect: function()
  {
  },

  handleResponse: function(response)
  {
    $('content').innerHTML += '<div>' + response['msg'] + '</div>';
  },

  doRequest: function(request)
  {
    new Ajax.Request(this.url, {
      method: 'get',
      parameters: { 'msg' : request }
    });
  }
}
var comet = new Comet();
comet.connect();
</script>
Backend.php me ofrece la cifra 87, 83... y querría que la función Control() se ejecutase una vez se haya hecho el requerimiento a backend.php sin onload u onkey
Mi idea sería hacer algo así:

Gracias

Última edición por autonotel; 08/07/2011 a las 03:18