Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/05/2009, 13:17
Avatar de anlhp
anlhp
 
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 16 años, 4 meses
Puntos: 1
lo que estas necesitando es puro uso del objeto XMLHttpRequest (AJAX) porque claro, necesitas 'dinamicidad' en tu juego sin necesidad de hacer los 'mega pedidos' al servidor y perder el estado de todo, ahora mismo estoy saliendo del trabajo, pero cuando llegue a casa te mando un tutorial muy sencillo de como usar ajax y asi podras resolver todas tus dudas y crear cosas por tu cuenta

recuerda lo que dijo Confucius:
"Denle al hombre un pez y comera por un dia. Enseñen al hombre a pescar y comera siempre"

mirate el siguiente codigo y cualquier duda me dices:
son dos archivos
1- juego.php
2- script.php

juego.php le hara un pedido a script.php y luego con lo que este le responda creara un objeto, para esto utiliza la funcion mas poderosa de javascript eval()

script.php
Código PHP:
$literal_objeto = <<<EOQ
    objeto = {
        mensaje: "Hola, fui creado en php pero vivo en javascript",
        quesoy: "ObjetoPHP"
    }
EOQ;
echo 
$literal_objeto
juego.php
Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
	<meta name="Content-Type" value=" text/html;charset=utf-8" />
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
	<script type="text/javascript">
	function Juego()
	{
		this.xhr = (function()
			{
				var tmp = new XMLHttpRequest();
				tmp.objetoPHP = null;
				tmp.getObjetoPHP = function()
					{
						this.open('get', 'script.php', true);
						this.send(null);
					}
				tmp.onreadystatechange = function()
					{
						if(this.readyState < 4)
							return;
						if(this.status != 200)
							alert("there wa an error ajax");
						this.objetoPHP = eval(this.responseText);
						$('#mensajes').append("Listo");
						$('#mensajes').append("<br />");
						$('#mensajes').append(this.objetoPHP.mensaje);
						$('#mensajes').append("<br />");
						$('#mensajes').append("Que soy?"+this.objetoPHP.quesoy);
						$('#mensajes').append("<br />");
						$('#mensajes').append("Mi codigo?"+this.responseText);
					}
				return tmp;
			})();
	}
	$(document).ready(function()
	{
		var juego = new Juego();
		juego.xhr.getObjetoPHP();
	});
</script>
</head>
<body>
<p id="mensajes">
</p>
</body>
</html> 
como mismo digo crear un objeto, digo crear un array, pero un objeto lo veo mas elegante ;)
espero que te sirva

Cita:
Iniciado por anlhp Ver Mensaje
mirate el siguiente codigo y cualquier duda me dices:
son dos archivos
1- juego.php
2- script.php

juego.php le hara un pedido a script.php y luego con lo que este le responda creara un objeto, para esto utiliza la funcion mas poderosa de javascript eval()

script.php
Código PHP:
$literal_objeto = <<<EOQ
    objeto = {
        mensaje: "Hola, fui creado en php pero vivo en javascript",
        quesoy: "ObjetoPHP"
    }
EOQ;
echo 
$literal_objeto
juego.php
Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
	<meta name="Content-Type" value=" text/html;charset=utf-8" />
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
	<script type="text/javascript">
	function Juego()
	{
		this.xhr = (function()
			{
				var tmp = new XMLHttpRequest();
				tmp.objetoPHP = null;
				tmp.getObjetoPHP = function()
					{
						this.open('get', 'script.php', true);
						this.send(null);
					}
				tmp.onreadystatechange = function()
					{
						if(this.readyState < 4)
							return;
						if(this.status != 200)
							alert("there wa an error ajax");
						this.objetoPHP = eval(this.responseText);
						$('#mensajes').append("Listo");
						$('#mensajes').append("<br />");
						$('#mensajes').append(this.objetoPHP.mensaje);
						$('#mensajes').append("<br />");
						$('#mensajes').append("Que soy?"+this.objetoPHP.quesoy);
						$('#mensajes').append("<br />");
						$('#mensajes').append("Mi codigo?"+this.responseText);
					}
				return tmp;
			})();
	}
	$(document).ready(function()
	{
		var juego = new Juego();
		juego.xhr.getObjetoPHP();
	});
</script>
</head>
<body>
<p id="mensajes">
</p>
</body>
</html> 
como mismo digo crear un objeto, digo crear un array, pero un objeto lo veo mas elegante ;)
espero que te sirva
por cierto se me olvido comentarte, en el codigo javascript creo el objeto XMLHttpRequest directamente para ahorrarme tiempo pues tuve que escribir todo esto ahora, pero la que internet explorer anterior al 7 se crea como un objeto ActiveX, investiga sobre el asunto que al final veras que no podras vivir sin javascript

Última edición por GatorV; 14/05/2009 a las 14:45