Foros del Web » Programando para Internet » Javascript »

Pelota que rebota en mouse y en la pagina

Estas en el tema de Pelota que rebota en mouse y en la pagina en el foro de Javascript en Foros del Web. Buenas! Me gustaría saber cómo podría hacer una pelota que va rebotando por el ancho y el alto de la página y que al "chocar" ...
  #1 (permalink)  
Antiguo 12/12/2015, 06:56
 
Fecha de Ingreso: diciembre-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Pelota que rebota en mouse y en la pagina

Buenas! Me gustaría saber cómo podría hacer una pelota que va rebotando por el ancho y el alto de la página y que al "chocar" con el raton cambie su dirección como si de una pared se tratase. Alguna idea?

Saludos y gracias!
  #2 (permalink)  
Antiguo 13/12/2015, 15:42
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 8 meses
Puntos: 131
Respuesta: Pelota que rebota en mouse y en la pagina

creas un div
le das un cierto tamaño por ejemplo 10px por 10px
usas border-radius

Ya tienes la pelota, ahora tienes que moverla

Para eso vas a utilizar un setInterval
Este setinterval se encarga de incrementar/decrementar la posicion X e Y

Tambien debe encargarse de ver los 4 limites(izquierda,derecha,arriba,abajo) para esto puedes usar 0 window.innerWidth 0 window.innerHeight respectivamente

Cada vez que llegen a un limite o lo ballan a rebazar debes cambiar la direccion del incremento/decremento

Para obtener la posicion del mouse usa cualquier evento, te recomiendo mousemove, y el objeto evento tiene la posicion del puntero del mouse.

Si al puntero le vas a asociar un ancho y un alto(como si fuera otra pelota), entonces la forma de detectar cuando estan juntos es hacer un vector con los centros de ambas pelotas y ver si la magnitud de este vector es menor o igual al radio uno mas el radio dos

No es dificil pero si laborioso

Etiquetas: mouse
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 05:17.