Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2010, 10:48
mauriciocode
 
Fecha de Ingreso: enero-2010
Mensajes: 2
Antigüedad: 14 años, 4 meses
Puntos: 0
ayuda juego pong¡¡¡¡

Pues tenia este codigo que hace rebotar una imagen en un cuadrado, lo que me gustaria haber si me podeis ayudar es en añadir un rectangulo en la parte inferior del cuadrado que haga de raqueta y en cuanto el rectangulo no hiciese rebotar la imagen, que salte un mensaje de que la aplicacion ha finalizado.

llevo intentando un par de dias y lo unico que consigo es que la pelotita deje de moverse....:


ayuda porfa


Código HTML:
Ver original
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2.  
  3. <title>pelota rebotando</title>
  4.  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.  <meta name="keywords" content="calendario, javascript" />
  6.    
  7. <style type="text/css">
  8.     *{ margin-left:250px;
  9.          margin-top:50px; }
  10.    
  11.     #fondo{ margin-left:-255px;
  12.                  margin-top:-55px;
  13.                  width: 550px;
  14.                  height: 385px;
  15.                  background-image: url(imagenes/fondo.gif);
  16.                  border: solid brown 5px;}
  17.    
  18.     #img{ position:absolute; }
  19.  
  20.  
  21. <title>pelota rebotando</title>
  22.  
  23.  
  24.  
  25. <script language="JavaScript">
  26.  
  27. //estas variables son las llamadas switch, cuando esten a acero la posicion de la imagen aumentara 1 pixel, cuando esten a 1, restaran 1 pixel
  28. dirv=0;
  29. dirh=0;
  30. //la imagen se inicia desde el centro del cuadro.
  31. v=175;//posicionamiento vertical de la imagen
  32. h=250;//posicionamiento horizontal de la imagen
  33.  
  34.  
  35. //se declara una variable con imagen, la cual contendra la imagen en movimiento, asi se podra obtener directamente la anchura y altura de la imagen y asi
  36. //el ejercicio funciona igual aun cambiando la imagen por otra de otro tamao.
  37. imagen = new Image();
  38. imagen.src="imagenes/img.gif";
  39.  
  40.  
  41.  
  42. function movimiento()
  43. {
  44.  
  45. if(v >= parseInt(document.getElementById("fondo").style.height)-imagen.height)//si la posicion de la imagen es superior, al tamao vertical del cuadro menos el largo de la imagen
  46. dirv=1;//el switch se iguala a 1, para que reste pixeles
  47.  
  48. if(h >= parseInt(document.getElementById("fondo").style.width)-imagen.width)//si la posicion de la imagen es superior, al tamao horizontal del cuadro menos el ancho de la imagen
  49. dirh=1;//el switch se iguala a 1, para que reste pixeles
  50.  
  51.    
  52.     //movimiento vertical
  53.     if(v<= 0)//solo se cambiara realmente cuando haya llegado abajo, haya rebotado y haya llegado arriva y la variable dirv valiese 1
  54.     dirv=0;//se iguala a 0 para que asi sume pixeles
  55.  
  56.     if(dirv==0)
  57.     v+=1;//suma 1 pixel (es decir la imagen baja)
  58.  
  59.     if(dirv==1)//resta 1 pixel (es decir la imagen sube)
  60.     v-=1;
  61.  
  62.  
  63.     //movimiento horizontal
  64.     if(h<= 0)//solo se cambiara realmente cuando haya llegado a la derecha haya rebotado y haya llegado a la izquierda y la variable dirh valiese 1
  65.     dirh=0;//se iguala a 0 para que sume pixeles
  66.  
  67.     if(dirh==0)
  68.     h+=1;//suma 1 pixel (es decir la imagen corre a la derecha)
  69.  
  70.     if(dirh==1)
  71.     h-=1;//resta 1 pixel (es decir la imagen corre a la izquierda)
  72.  
  73. // dasigo  la imagen a las variables 'v' y 'h'
  74. document.getElementById("img").style.top=v+"px";
  75. document.getElementById("img").style.left=h+"px";
  76.  
  77.  
  78.  
  79. setTimeout("movimiento()", 1);//la funcion se repite cada milisegundo
  80. }
  81.  
  82. </head>
  83. <body onLoad="movimiento();">
  84.  
  85. <div id="fondo" style="width: 550px; height: 385px;"><!--me obliga a poner el style aqui, si no no funciona, no se por k-->
  86. <img id="img" alt="imagen en movimiento" src="imagenes/img.gif" />
  87. </div>
  88.  
  89. </body>
  90. </html>

GRACIAS¡¡